mawuekom/laravel-searchable

Laravel 包,用于简化 Eloquent 模型的搜索

v1.2.0 2022-04-21 14:31 UTC

This package is auto-updated.

Last update: 2024-09-21 19:37:25 UTC


README

本包提供服务提供者和特性,以简化对 Eloquent 模型的搜索

安装

您可以通过 composer 安装此包

composer require mawuekom/laravel-searchable

用法

Laravel

前往 config/app.php,并在 providers 键中添加以下内容

'providers' => [
    ...
    Mawuekom\LaravelSearchable\LaravelSearchableServiceProvider::class,
    ...
]

Lumen

前往 bootstrap/app.php,并在指定键中添加以下内容

// Add provider 
$app->register(Mawuekom\LaravelSearchable\LaravelSearchableServiceProvider::class);

继承自 Eloquent 模型的模型

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    ...

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'title',
        'content'
    ];

     ...
}

使用它来进行搜索

use App\Models\Post;

Post::whereLike(['title', 'content'], 'Post title');

您还可以在模型中包含 Searchable 特性。

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Mawuekom\LaravelSearchable\Searchable;

class Post extends Model
{
    use Searchable;

    ...
}

完成后,您可以进行如下搜索:

use App\Models\Post;

Post::search(['title', 'content'], 'Post title') ->get();

完成即可享受。

测试

composer test

更新日志

有关最近变更的详细信息,请参阅 更新日志

贡献

有关详细信息,请参阅 贡献指南

安全和报告错误

如果您发现任何与安全相关的问题,请通过电子邮件 seddorephraim7@gmail.com 或在 Twitter 上联系我 @ephraimseddor,而不是使用问题跟踪器。

许可证

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