faisal50x / query-filter
基于查询参数的 Laravel Eloquent 模型过滤器。
v1.0.6
2023-10-23 08:49 UTC
Requires
- php: ^7.1|^7.2|^7.3|^7.4|^8.0|^8.1
- illuminate/console: ^5.6|^6.0|^7.0|^8.0|^9.0|^10.0
- illuminate/database: ^5.6|^6.0|^7.0|^8.0|^9.0|^10.0
- illuminate/support: ^5.6|^6.0|^7.0|^8.0|^9.0|^10.0
Requires (Dev)
- ext-json: *
- orchestra/testbench: ^4.0|^5.0|^6.0|^7.0|^8.0
- phpunit/phpunit: ^8.0|^9.0|^10.0
This package is auto-updated.
Last update: 2024-09-23 10:38:41 UTC
README
这是一个简单的包,它可以提高你的生产力,使你的代码更简洁、更简单。
安装
您可以通过 composer 安装此包
composer require faisal50x/query-filter
用法
之前
public function index($request){ $query = User::query(); if(request()->has('status')) { $query = $query->where('status', request()->get('status')); } if(request()->has('role')) { $query = $query->where('role', request()->get('role')); } $users = $query->get(); }
现在
public function index($request, UserFilter $filter){ //It's nice and clean $users = User::filter($filter)->get(); } // User Filter use Faisal50x\QueryFilter\QueryFilter; class UserFilter extends QueryFilter { public function status($query, $status){ return $query->whereStatus($status); } public function role($query, $role){ return $query->whereRole($role); } }
测试
composer test
变更日志
请参阅 CHANGELOG 了解最近更改的详细信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全性
如果您发现任何安全问题,请通过电子邮件 hello@imfaisal.me 而不是使用问题跟踪器。
鸣谢
许可协议
MIT 许可协议 (MIT)。请参阅 许可文件 了解更多信息。
Laravel 包模板
此包是使用 Laravel 包模板 生成的。