一个用于轻松为Eloquent查询添加过滤功能的Laravel扩展包

v0.0.2 2024-09-18 10:33 UTC

This package is auto-updated.

Last update: 2024-09-18 10:35:02 UTC


README

Build Status Total Downloads Latest Stable Version License

Laravel Filter 是一个Laravel扩展包,可以轻松为Eloquent查询添加过滤功能。

您可以为Eloquent查询添加过滤功能

  • 过滤单个或多个列
  • 使用可能的值列表(数组)过滤列

用法

通过以下方式安装

    composer require emmadonjo/laravel-filter
    ...

    use Emmadonjo\LaravelFilter\Contracts\Filterable;
    use Emmadonjo\LaravelFilter\Concerns\HasFilter;

    class Post extends Model implements Filterable
    {
        use HasFilter;

        public function filterableColumns(): array
        {
            return [
                'slug',
                'author_id',
                'status'
            ];
        }
    }


    // filter posts
    $filters = ['author_id' => 1, 'status' => 'published'];

    Post::filter($filters)->get();

    // filter a post's column with multiple possible values
    $filters = ['status' => ['scheduled', 'draft']];

    Post::filter($filters)->get();

    // combine both
    $filters = [
        'status' => ['scheduled', 'draft'],
        'author_id' => 1
    ];

    Post::filter($filters)->get();

更新日志

请参阅发布版本以获取有关最近更改的更多信息。

贡献

欢迎提交拉取请求。请确保遵循PSR编码标准,并满足静态分析的9级水平。

许可证

MIT许可证(MIT)。有关详细信息,请参阅LICENSE