laraditz/saring

一个简单的优雅模型过滤器。

安装: 135

依赖: 0

建议者: 0

安全: 0

星星: 0

关注者: 2

分支: 0

公开问题: 0

类型:laravel-package

1.0.3 2022-01-19 09:42 UTC

This package is auto-updated.

Last update: 2024-09-19 15:27:37 UTC


README

Latest Stable Version Total Downloads License StyleCI

一个简单的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。有关更多信息,请参阅许可证文件