Use Pomm with Api platform.
The search filter supports:
partial
strategy usesLIKE %text%
to search for fields that containing the text.start strategy
usesLIKE text%
to search for fields that starts with text.end strategy
usesLIKE %text
to search for fields that ends with text.word_start
strategy usesLIKE text% OR LIKE % text%
to search for fields that contains the word starting with text.
Prepend the letter i
to the filter if you want it to be case insensitive. For example ipartial
or iexact
.
Add an entry in services.yml
:
services:
app.book.search_filter:
parent: 'api_platform.pomm.search_filter'
arguments: [ { 'title': 'exact', 'description': 'partial'} ]
tags: [ { name: 'api_platform.filter', id: 'book.search' } ]
And in resources.yml
use the service filter:
resources:
AppBundle\Entity\Book:
collectionOperations:
get:
filters: ['book.search']