stobys / laravel-filterable
Laravel 模型过滤器特性。
1.0.1
2020-03-15 22:08 UTC
Requires
- php: ^7.2
- laravel/helpers: ^1.2
This package is auto-updated.
Last update: 2024-09-21 20:25:56 UTC
README
Laravel 模型的过滤器特性。受到 n7olkachev/laravel-filterable 的启发。
版本: 1.0.1
工作原理
在 POST 请求中,它寻找在特性属性 filterable_fields
中定义的表单字段,并通过它们过滤模型。如果模型有与表单字段名称相同的定义范围,则使用该范围。
可以这样使用它
\App\User::filter()->get()
目前,它可以通过三种方法过滤集合 - 精确过滤(is)、类似过滤(like)和范围过滤(between)。
安装
您可以通过 composer 安装此包
composer require stobys/laravel-filterable
然后,添加 Filterable 特性并列出所有可过滤属性
use Filterable; protected $filterable_fields = [ 'id' => 'is', 'username' => 'like', 'created_at' => 'between', 'created_after' => 'scope' ];
然后,大功告成!
示例
class User extends Model { use Filterable; protected $filterable_fields = [ 'id' => 'is', 'username' => 'like', 'created_at' => 'between', 'created_after' => 'scope' ]; public function scopeCreatedAfter($query, $time) { return $query->where('created_at', '>', $time); } }
许可协议
MIT 许可协议 (MIT)