nico-sorice/laravel-query-filterer

用于通过 HTTP 请求过滤查询的 Laravel 扩展包

0.2.1 2019-03-30 15:06 UTC

This package is auto-updated.

Last update: 2024-09-29 05:20:50 UTC


README

此扩展包允许您轻松、快速地根据 HTTP 请求值设置条件规则以过滤查询。

快速开始

这些说明将帮助您在本地机器上复制项目并运行,以便进行开发和测试。有关如何在生产系统上部署项目的说明,请参阅部署部分。

先决条件

此扩展包需要 php7.0 或更高版本,laravel 5.5 或更高版本,并且您的计算机上已安装 composer。

composer
php >= 7.0.0
laravel >= 5.5

安装

需要使用 composer

composer require nico-sorice/laravel-query-filterer

使用方法

在您的控制器中

<?php

use NicoSorice\QueryFilterer\PackageClasses\QueryFilterer;

New QueryFilterer(
    Model::query(),
    request()
 )->filter([
     'id'        => WhereFilter::class,
     'status_id' => WhereInFilter::class,
     'date'      => (new WhereDateBetweenFiter)->setFormat('d/m/Y'),
 ])

可用过滤器的完整列表

该包包括需要它们的过滤器的验证规则

在您的请求中

<?php

 /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'id'   => 'nullable|integer',
            'date' => [
                'nullable', 
                new FilterWhereDateBetweenValidationRule
            ]
        ];
    }

可用验证规则的完整列表

贡献

请阅读 CONTRIBUTING.md 了解我们的行为准则以及向我们提交拉取请求的流程。

版本控制

我们使用 SemVer 进行版本控制。有关可用版本,请参阅此存储库的 标签

作者

还可以查看参与此项目的 CONTRIBUTORS.md 列表。

许可证

此项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE.md 文件。