Laravel 基础教程

Laravel 笔记

laravel admin 筛选如何使用 like 模糊查询文本

Laravel 笔记 Laravel 笔记


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();
            ...
        });
    }