tohidhabiby / filters
此包可以帮助您轻松在控制器索引方法上创建自定义搜索。
1.0.0
2021-12-05 16:06 UTC
README
此包可以帮助您轻松在控制器索引方法上创建自定义搜索。
安装
使用包管理器 composer 安装此包。
composer require tohidhabiby/filters
使用方法
每个模型应继承自BaseModel。然后创建一个继承自Filters的过滤器类,该类应包含如下参数
/** * Registered filters to operate upon. * * @var array */ protected array $filters = [ 'ids', ... ]; /** * Define type of variables. * * @var array */ public array $attributes = [ 'ids' => 'array', ... ]; /** * @param string $email Email. * * @return Builder */ protected function ids(array $ids) { return $this->builder->whereIn('id', $ids); }
然后在控制器中的index方法中可以这样操作
/** * Display a listing of the resource. * * @param UserFilter $filters UserFilter. * @param Request $request Request. * * @return AnonymousResourceCollection */ public function index(UserFilter $filters, Request $request): AnonymousResourceCollection { return UserResource::collection(User::filter($filters)); }