youness_usee / filter
此包用于为EXP过滤数据,您有带有多过滤选项的搜索栏/页面,此包可以帮助您轻松快速地进行过滤。此包使用管道技术,并将请求部分一部分进行检查。
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)。有关更多信息,请参阅 许可证文件。