shepp/nova-concat-search

在 Laravel Nova 中通过拼接字段进行搜索

v1.0.0 2022-09-27 13:16 UTC

This package is auto-updated.

Last update: 2024-09-27 17:54:28 UTC


README

允许通过 Laravel Nova 中多个字段的拼接来搜索资源。

示例

一个示例用例是,一个表中包含 first_namelast_name 字段,Nova 用户想要通过全名进行搜索。

示例表:

使用标准的 Nova 搜索,术语 John Doe 不会匹配此记录,因为名字或姓氏都不匹配。

通过将列名子数组添加到资源的 $search 属性中,此包允许在拼接的数据库字段上进行搜索

class User extends Resource
{
    use Shepp\NovaConcatSearch\Traits\SearchesOnConcatColumns;

    public static $search = [
        ['first_name', 'last_name'], // <----
        'email',
    ];

    // ...
}

这实际上是向搜索查询中追加以下内容;

WHERE
    # ...
    OR CONACT(first_name, ' ', last_name) LIKE '%John Doe%'

使用上述示例,这将允许术语 John Doe 匹配示例记录。