Any modification must be done in the main repository.
composer require codelytv/criteria-from-url
The criteria converter expect an url with the following format:
filters
: An array of filters. Composed by:field
: The field to filter by.operator
: The operator to apply. You can see here the valid operators list.value
: The value to filter by.
orderBy
: The field to order by.order
: The order to apply.asc
ordesc
.pageSize
: The number of items per page.pageNumber
: The page number.
Url with one filter and no order or pagination:
http://localhost:3000/api/users?filters[0][field]=name&filters[0][operator]=CONTAINS&filters[0][value]=Javi
Url with two filter, order and pagination:
http://localhost:3000/api/users
?filters[0][field]=name&filters[0][operator]=CONTAINS&filters[0][value]=Javi
&filters[1][field]=email&filters[1][operator]=CONTAINS&filters[1][value]=gmail
&orderBy=name
&order=asc
&pageSize=10
&pageNumber=2
$url = 'http://localhost:3000/api/users?filters[0][field]=name&filters[0][operator]=CONTAINS&filters[0][value]=Javi';
$converter = new CriteriaFromUrlConverter();
$criteria = $converter->toCriteria($url);