tomas-kulhanek / doctrine-query-search
Fund package maintenance!
tomas-kulhanek
www.paypal.me/helppc
Installs: 2 635
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: >=8.2
- doctrine/orm: ^2.17
- tomas-kulhanek/query-search: ^2.3.0
Requires (Dev)
- phpstan/phpstan: ^2.0
- ramsey/uuid: ^4.7
- symfony/doctrine-bridge: ^7.0
- symfony/uid: ^7.0
README
Filter operations
FILTER
http://your.id/path?q=foo:keyword
http://your.id/path?q=foo:keyword,bar!~other
Asterisk
http://your.id/path?q=foo:keyword*
http://your.id/path?q=foo:keyword*,bar!~*other,foo2:*key*
SORTING
http://your.id/path?sort=foo:desc,other:asc
PAGING
http://your.id/path?limit=30&offset=60
Example output
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
}
}