jzpeepz/eloquent-search

简单搜索项目中所有 Eloquent 模型

0.6 2020-12-17 22:07 UTC

This package is auto-updated.

Last update: 2024-09-18 06:46:58 UTC


README

Latest Version on Packagist Build Status Quality Score Total Downloads

这里应该放置你的描述。尽量限制在一到两段,并提及你支持哪些 PSR 以避免用户和贡献者产生混淆。

安装

你可以通过 composer 安装此包

composer require jzpeepz/eloquent-search

发布配置文件

php artisan vendor:publish --tag=eloquent-search-config

发布视图以便自定义

php artisan vendor:publish --tag=eloquent-search-views

如果你需要添加中间件或自定义搜索 URI,可能需要将此路由复制到你的路由文件中

Route::get('/search', ['as' => 'eloquent-search', 'uses' => '\Jzpeepz\EloquentSearch\Http\Controllers\SearchController@index']);

在视图中包含搜索框

@include('eloquent-search::search-box')

使用方法

入门指南

要使模型可搜索,它需要使用 App\Traits\Searchable trait。

所有可搜索模型也必须在 config/eloquent-search.php 文件中声明。这允许通过以下命令生成搜索抽象。

注意:如果任何可搜索模型没有 url()getSearchDescription() 方法,将抛出异常。有关这些方法的详细信息,请参阅自定义部分。

初始化搜索

运行以下命令以初始化所有可搜索模型的搜索抽象。

php artisan search:init

自定义

搜索内容

默认情况下,模型中的所有属性都将汇总到搜索中。

要自定义搜索内容,请覆盖 getSearchAbstract() 方法以返回应搜索的字符串。

搜索结果

描述(必需)

在你的模型中添加一个返回你想要描述的 getSearchDescription() 方法。

URL(必需)

在你的模型中添加一个 url() 方法。这提供了搜索中链接到的 URL。

标题

默认情况下,Searchable 将尝试确定结果的合适标题。

要自定义,请覆盖你的模型上的 getSearchTitle() 方法。

测试

composer test

变更日志

请参阅 CHANGELOG 了解最近的变化。

贡献

请参阅 CONTRIBUTING 了解详细信息。

安全

如果你发现任何安全问题,请通过电子邮件 jonathan@flex360.com 而不是使用问题跟踪器。

鸣谢

许可协议

MIT 许可协议(MIT)。请参阅 许可文件 了解更多信息。

Laravel 包模板

此包是使用 Laravel 包模板 生成的。