如何在 Laravel 的背包中启用过滤器?
How to enable filters in Backpack for Laravel?
我正在查看文档页面:https://backpackforlaravel.com/docs/4.1/crud-filters。
简单的问题是:我必须在哪里调用 $this->crud->filters()
?我试图在我的控制器中 setupListOperation()
的末尾添加,但我没有在我的 table 上看到过滤器。出于好奇:我将调用的 esit 分配给 var 并将其转储,它是一个空集合。
protected function setupListOperation()
{
CRUD::setFromDb(); // columns
CRUD::column('assignmentTypes')->type('relationship');
/**
* Columns can be defined using the fluent syntax or array syntax:
* - CRUD::column('price')->type('number');
* - CRUD::addColumn(['name' => 'price', 'type' => 'number']);
*/
dd($this->crud->filters()); // <<<<------------- EMPTY COLLECTION!
}
请注意,手动添加 过滤器有效!
$this->crud->addFilter([
'type' => 'text',
'name' => 'first_name',
'label' => 'First Nane'
], false,
function ($value) { // if the filter is active
$this->crud->addClause('where', 'first_name', 'LIKE', "%$value%");
}
);
但我问你为什么filters()
不自动做某事。
您可以在任何您喜欢的地方使用 $this->crud->filters()
或 CRUD::filters()
,但是像您一样在 setupListOperation()
中使用它最有意义,但是在您已经添加了一些过滤器。在 addFilter()
语句之前,结果是一个空集合,因为没有过滤器。
如果您将背包过滤器添加到您的列表操作中,则会自动启用背包过滤器。
我正在查看文档页面:https://backpackforlaravel.com/docs/4.1/crud-filters。
简单的问题是:我必须在哪里调用 $this->crud->filters()
?我试图在我的控制器中 setupListOperation()
的末尾添加,但我没有在我的 table 上看到过滤器。出于好奇:我将调用的 esit 分配给 var 并将其转储,它是一个空集合。
protected function setupListOperation()
{
CRUD::setFromDb(); // columns
CRUD::column('assignmentTypes')->type('relationship');
/**
* Columns can be defined using the fluent syntax or array syntax:
* - CRUD::column('price')->type('number');
* - CRUD::addColumn(['name' => 'price', 'type' => 'number']);
*/
dd($this->crud->filters()); // <<<<------------- EMPTY COLLECTION!
}
请注意,手动添加 过滤器有效!
$this->crud->addFilter([
'type' => 'text',
'name' => 'first_name',
'label' => 'First Nane'
], false,
function ($value) { // if the filter is active
$this->crud->addClause('where', 'first_name', 'LIKE', "%$value%");
}
);
但我问你为什么filters()
不自动做某事。
您可以在任何您喜欢的地方使用 $this->crud->filters()
或 CRUD::filters()
,但是像您一样在 setupListOperation()
中使用它最有意义,但是在您已经添加了一些过滤器。在 addFilter()
语句之前,结果是一个空集合,因为没有过滤器。
如果您将背包过滤器添加到您的列表操作中,则会自动启用背包过滤器。