laravel admin 列表页提供 filter 筛选项,那如何使用 like 模糊查询指定字段文本?
推荐方式
首先头部需要引入 admin 相应的类,具体如下:
use Encore\Admin\Facades\Admin;
use Encore\Admin\Grid;
use Encore\Admin\Grid\Filter;
完整实现代码块如下,主要是使用 where 函数结合自定义 callback 实现:
protected function grid()
{
return Admin::grid(XXX::class, function (Grid $grid) {
...
/**
* 筛选按钮
*/
$grid->filter(function (Filter $filter) {
$filter->disableIdFilter();
$filter->where(function ($query) {
$query->where('title', 'like', "%{$this->input}%");
}, '词');
...
});
/**
* 数据各列
*/
$grid->column('id', "id")->sortable();
...
});
}