使用Laravel Backpack CRUD中的搜索框搜索多个字段

时间:2018-09-10 13:47:08

标签: laravel backpack-for-laravel

如何更改搜索框的默认行为,以在多列中搜索文本?当然,我可以添加过滤器,但我希望“搜索”框也可见,并允许用户快速键入文本并在多个文本列中进行搜索。

可能是一个简单的问题,我在任何文档中都找不到答案,但是可能忽略了https://laravel-backpack.readme.io/v3.0/docs上明显的问题?

在具有ID,名称,描述,URL和带有

记录的字段的表中
id=1
name='kung fu'
description='Kung fu is a martial art that I suck at. Eat more chicken.'
url='https://isuckatkungfu.com'

如果我在搜索框中输入“ kung”,则应该在名称,说明和网址字段中找到“ kung”。

这里有一些相关问题:

screenshot of the search box

1 个答案:

答案 0 :(得分:0)

好吧,我认为您正在寻找的是Custom Search Logic for Columns。这使您可以将条件附加到查询字符串,如下所示:

$this->crud->addColumn([
    'name' => 'slug_or_title',
    'label' => 'Title',
    'searchLogic' => function ($query, $column, $searchTerm) {
        $query->orWhere('title', 'like', '%'.$searchTerm.'%');
    }
]);