【问题标题】:Search more than one field using search box in Laravel Backpack CRUD使用 Laravel Backpack CRUD 中的搜索框搜索多个字段
【发布时间】:2018-09-10 13:47:07
【问题描述】:

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

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

在包含 id、name、description、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”,它应该会在名称、描述和 url 字段中找到“kung”。

这里有点相关的问题:

【问题讨论】:

  • 它是这样工作的吗? stackoverflow.com/questions/8023701/… 背包中的行为目前很奇怪。在某些屏幕上,它只搜索名称字段。在其他屏幕上,它搜索多个列,但不是全部

标签: laravel laravel-backpack


【解决方案1】:

嗯,我想你要找的是Custom Search Logic for Columns。这使您可以将条件附加到查询字符串,如下所示:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-19
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 2014-03-12
    • 2018-07-25
    • 1970-01-01
    相关资源
    最近更新 更多