craftcodery/laravel-searchable

Laravel Eloquent 模型可搜索特性

3.2.0 2024-03-26 22:05 UTC

This package is auto-updated.

Last update: 2024-09-26 23:12:09 UTC


README

此包可轻松搜索您的 Laravel 模型。

安装

您可以通过 composer 安装此包。

composer require craftcodery/laravel-searchable

使用方法

准备您的模型

为了通过模型进行搜索,您必须使用 Searchable 特性并添加 toSearchableArray 方法。

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use CraftCodery\Searchable\Searchable;

class User extends Model
{
    use Searchable;
    
    /**
     * Get the searchable data array for the model.
     *
     * @return array
     */
    public function toSearchableArray()
    {
        return [
            'columns' => [
                'users.name'  => 60,
                'users.email' => 60,
                'locations.city' => 40,
            ],
            'joins'   => [
                'locations' => [
                    'users.location_id',
                    'locations.id'
                ],
            ],
            'groupBy' => 'users.id'
        ];
    }
}

搜索模型

要搜索您的模型,只需使用 search 方法。

$users = User::search('john')->get();

配置搜索匹配器

您可以配置包使用的不同搜索匹配器和权重。

php artisan vendor:publish --tag=searchable-config

许可

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