stoullec / query-filter
将 URL 过滤器转换为 DQL,以便用户可以通过单个端点过滤数据。
Requires
- php: >=8.1
This package is auto-updated.
Last update: 2024-09-11 17:11:26 UTC
README
词汇过滤器
过滤器
url_filter
必须遵循某些格式
-
您要过滤的实体(
FilterClass
)必须是 'my-entity' 格式。例如:实体 = 导演 => URL = /director/filter?id=1 实体 = 导演类型 => URL = /director-type/filter?id=1 -
您要过滤的属性必须是 camelCase 格式 'myProperty'。例如:属性 = 名称 => URL = /director/filter?name=Simon 属性 = firstName => URL = /director-type/filter?firstName=Simon
-
filter_operator
必须是 '[filteroperator]=' 格式。例如:操作符 = 等于 => URL = /director/filter?firstName[eq]=Simon 操作符 = 不等于 => URL = /director-type/filter?firstName[not:eq]=Simon -
logic_operator
必须是 '[logicoperator]=' 格式。例如:操作符 = 且 => URL = /director/filter?firstName[eq]=Simon[and]=lastName[eq]=MAHE
filter_operator
列表
logic_operator
列表
开发者区域
DQLClauseSelect => get() => SELECT director
DQLClauseFrom => get() => FROM App\Entity\Director
DQLClauseInnerJoin => get() => null| INNER JOIN person_type ON person_type.id = director.person_type_id
DQLClauseWhere => getListOfFilterFromUrl()
文件分为两个部分:Filter 和 DQL。
Filter 部分代表 Symfony 端的信息,如 'SELECT'、WHERE 子句等。一旦需要与 DQL 相关的信息来执行 DQL 查询,则会在 Filter 文件夹中发起调用。
DQL 部分代表与 Symfony 相关的信息,如 'App\Entity...'、属性名等。一旦需要与 Symfony 相关的信息来执行 DQL 查询,则会在 Filter 文件夹中发起调用。
待办事项
// TODO 完成英文文档
// TODO 执行排序