此包已被弃用,不再维护。未建议替代包。

此包用于为EXP过滤数据,您有带有多过滤选项的搜索栏/页面,此包可以帮助您轻松快速地进行过滤。此包使用管道技术,并将请求部分一部分进行检查。

V4.50 2020-12-04 12:01 UTC

This package is auto-updated.

Last update: 2022-08-04 16:47:16 UTC


README

blackWhaleDev/filter 包提供编写全局查询过滤的简易方式。

以下是如何使用它的示例

pipe(New User(),
    [
        NameFilter::class,
    ])->paginate(10);

您可以使用 artisan 命令创建自己的过滤类

php artisan make:filter ClassName ColumnName 

此命令有一些选项

--type --second --relation=

支持我们

您可以通过使用此包并帮助我改进它来支持我

文档

对于 EXP:您有一个搜索页面,并希望为该页面设置一些过滤器,这些过滤器应应用于 User 类。

首先使用 artisan 调用创建 2 个类(Name 和 LastNameLike)

名称

php artisan make:filter Name FirstName

此命令将在 "App\QueryFilters" 文件夹中生成 "Name.php" 文件

注意:我们想要进行过滤的列是 "first_name",但我们应该用驼峰命名法来写它,同时在 HTML 表单输入名称中应该与列名 "first_name" 相同

现在第二个类

php artisan make:filter LastName LastName --type=like

此命令将在 "App(QueryFilters" 文件夹中生成 "likeLastName.php" 文件

现在在您的函数中调用 pipe() 辅助函数

pipe(New User(), [
    Name::class,
    likeLastName::class, // --type = like
])->paginate(10);

就是这样 ;) !!!

当请求进入辅助函数时,它会进入 Name 类,并检查是否存在 "name",如果存在,则进行检查;如果不存在,则跳过检查,直接进入下一个请求(下一个类)

在使用包时遇到困难?发现了一个错误?您有关于改进过滤系统的一般问题或建议吗?请随时在 GitHub 上 创建一个问题,我会尽快解决。

如果您发现了安全相关的问题,请通过电子邮件 alizade488@gmail.com 而不是使用问题跟踪器。

Artisan 调用类型

单个:

php artisan make:filter Name FirstName

它的默认类型

like:

php artisan make:filter Name FirstName --type=like

它的 "Like" 查询

between:

php artisan make:filter Name StartDate --type=between --second=EndDate

在此类型中,您应传递 "--second" 选项,它将检查两个时间之间或任何其他数据...

--relation:

php artisan make:filter Name StartDate --type=relation --relation=RelationName

在此类型中,您应传递 "--relation" 选项,它将检查具有该关联的数据

安装

您可以通过 composer 安装此包

composer require youness_usee/filter

包将自动注册自己。

注意:请保持驼峰命名法

安全

如果您发现任何安全相关的问题,请通过电子邮件 alizade488@gmail.com 而不是使用问题跟踪器。

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件