laraditz / saring
一个简单的优雅模型过滤器。
1.0.3
2022-01-19 09:42 UTC
Requires
- php: ^7.2.5|^8.0
- illuminate/database: ^6.0|^7.0|^8.40
- illuminate/http: ^6.0|^7.0|^8.0
- illuminate/support: ^6.0|^7.0|^8.0
This package is auto-updated.
Last update: 2024-09-19 15:27:37 UTC
README
一个简单的Laravel和Lumen的优雅模型过滤器。
安装
通过Composer
$ composer require laraditz/saring
配置
将可过滤特质添加到您的模型中,如下代码片段所示
use Laraditz\Saring\Filterable; class User extends Model implements AuthenticatableContract, AuthorizableContract { use Filterable; ... }
在 App/Filters
文件夹下创建一个以 <model_name>Filter
格式的过滤器类。例如,对于 User
模型,您需要创建 UserFilter
类。
以下代码片段显示了 UserFilter
的样子
namespace App\Filters; use Laraditz\Saring\Filter; class UserFilter extends Filter { public function name($value) { $this->where('name', 'LIKE', $value); } public function email($value) { $this->where('email', 'LIKE', "%$value%"); } }
如果您想对可过滤的属性有更多控制,可以在您的模型中添加 filterable
数组
protected $filterable = [ 'name', 'email' ];
使用方法
在您的控制器中,调用 filter
方法并将输入数据传递给您创建的过滤器。
$users = User::filter($request->all())->get();
就是这样!
致谢
许可证
MIT。有关更多信息,请参阅许可证文件。