tomas-kulhanek / doctrine-query-search
v2.0.3
2024-02-18 16:48 UTC
Requires
- php: >=8.2
- doctrine/orm: ^2.17
- tomas-kulhanek/query-search: ^2.1
Requires (Dev)
- phpstan/phpstan: ^0.12.82
- ramsey/uuid: ^4.7
- symfony/doctrine-bridge: ^7.0
- symfony/uid: ^7.0
README
过滤操作
过滤
http://your.id/path?q=foo:keyword
http://your.id/path?q=foo:keyword,bar!~other
星号
http://your.id/path?q=foo:keyword*
http://your.id/path?q=foo:keyword*,bar!~*other,foo2:*key*
排序
http://your.id/path?sort=foo:desc,other:asc
分页
http://your.id/path?limit=30&offset=60
示例输出
TomasKulhanek\QuerySearch\Params\RequestParams {
#filters: array:3 [
0 => TomasKulhanek\QuerySearch\Params\Filter {
#field: "foo"
#operator: ":"
#value: "keyword"
#startWithAsterisk: false
#endWithAsterisk: true
}
1 => TomasKulhanek\QuerySearch\Params\Filter {
#field: "bar"
#operator: "!~"
#value: "other"
#startWithAsterisk: true
#endWithAsterisk: false
}
2 => TomasKulhanek\QuerySearch\Params\Filter {
#field: "foo2"
#operator: ":"
#value: "key"
#startWithAsterisk: true
#endWithAsterisk: true
}
]
#sorts: array:2 [
0 => TomasKulhanek\QuerySearch\Params\Sort {
#field: "foo"
#direction: "desc"
}
1 => TomasKulhanek\QuerySearch\Params\Sort {
#field: "other"
#direction: "asc"
}
]
#pagination: TomasKulhanek\QuerySearch\Params\Pagination {
#limit: 30
#offset: 60
}
}