tomas-kulhanek / query-search
Fund package maintenance!
tomas-kulhanek
www.paypal.me/helppc
Installs: 2 738
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: >=8.1
- symfony/http-foundation: 6.*|7.0
Requires (Dev)
- phpstan/phpstan: ^1.10
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
}
}