如何更改搜索框的默认行为,以在多列中搜索文本?当然,我可以添加过滤器,但我希望“搜索”框也可见,并允许用户快速键入文本并在多个文本列中进行搜索。
可能是一个简单的问题,我在任何文档中都找不到答案,但是可能忽略了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”。
这里有一些相关问题:
答案 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.'%');
}
]);