kevinpijning / laravel-searchable
为 Laravel 提供简单的表格搜索功能
v1.0
2017-05-04 08:38 UTC
Requires
- illuminate/support: ^5.4
This package is auto-updated.
Last update: 2024-09-23 21:03:56 UTC
README
此包允许您通过可搜索特性轻松在模型中搜索。
设置
Composer
通过 Composer 引入此包
{
"require": {
"kevinpijning/laravel-searchable": "dev-master"
}
}
$ composer update
将包添加到应用的服务提供者中 config/app.php
'providers' => [
App\Providers\RouteServiceProvider::class,
/*
* Third Party Service Providers...
*/
KevinPijning\LaravelSearchable\LaravelSearchableServiceProvider::class,
],
发布视图
php artisan vendor:publish
使用方法
在您的 Eloquent 模型中内部使用 Searchable 特性。定义 $searchable 数组(见以下示例代码)。
use KevinPijning\LaravelSearchable\Searchable;
class User extends Model implements AuthenticatableContract, CanResetPasswordContract
{
use Authenticatable, CanResetPassword, Searchable;
...
public $searchable = ['id',
'name',
'email',
'created_at',
'updated_at'];
...
}
Searchable 特性为模型添加了 Searchable 范围,因此您可以使用它与 paginate 一起使用。
Blade 扩展
提供了一个 blade 扩展,您可以使用 @searchableform。
@searchableform
这将向您的页面添加一个搜索表单。
完整示例
路由
Route::get('users', ['as' => 'users.index', 'uses' => 'HomeController@index']);
控制器
use App\User;
public function index()
{
$users = User::searchable()->paginate(10);
return view('user.index')->withUsers($users);
}
视图
包含分页
@searchableform
@foreach($users as $user)
{{ $user->name }}
@endforeach
{!! $users->appends(\Request::except('page'))->render() !!}