mirhamit/miri-search

一个最小的Laravel搜索包

1.0.1 2022-04-28 13:26 UTC

This package is auto-updated.

Last update: 2024-09-28 18:37:11 UTC


README

Latest Version on Packagist Total Downloads

一个最小的Laravel搜索包

安装

打开终端并切换到您的项目根目录

安装laravel

使用composer安装此包

composer require mirhamit/miri-search

用法

在本例中,我们将MiriSearch添加到用户模型中,您可以使用任何模型

use MirHamit\MiriSearch\MiriSearch;

class User extends Authenticatable
{
    use HasApiTokens, HasFactory, Notifiable, MiriSearch;
...
}

获取搜索结果。在本例中,我们在路由中使用它并搜索单个用户

Route::get('search', function () {
    return User::miriSearch(['w1w@yahoo.com'], 0, 0)->paginate();
});

您甚至可以在关系中进行搜索

    return User::search('w1w@yahoo.com')
        ->query(fn($query) => $query->with([
            'warehouse' => function ($query) {
                // $query->miriSearch(['code'=>'5488', 'phone'=>'+9891413'], 1, 1);
                // $query->miriSearch('Search', 1, 0);
                $query->miriSearch(['test', '6897'], 1, 1);
            }
        ]))
        ->paginate()

搜索的第二个和第三个参数接受布尔值。如果您将0发送到第二个参数,则搜索将搜索与搜索词完全匹配的项

如果您将1发送到第二个参数,则搜索将使用LIKE进行搜索,例如$query->where($searchableField, "LIKE", "%$value%");

如果您将0发送到第三个参数,则搜索将使用orWhere

如果您将1发送到第三个参数,则搜索将使用where

变更日志

有关最近更改的更多信息,请参阅变更日志

安全漏洞

请审查并检查安全漏洞,并在问题部分报告。

鸣谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件