Jag vet inte om Symfony, men du kan ersätta
a ILIKE b
med
lower(a) LIKE lower(b)
Du kan också prova operatorn ~~*
, som är en synonym för ILIKE
Den har något lägre operatorprioritet, så du kan behöva parenteser för sammanlänkade strängar där du inte skulle göra det med ILIKE
a ILIKE b || c
blir
a ~~* (b || c)
Handboken om mönstermatchning, som börjar med LIKE
/ ILIKE
.
Jag tror att den här killen hade samma problem och fick ett svar:
http://forum.symfony-project.org/viewtopic.php?f=23&t=40424
Självklart kan du utöka Symfony2 med SQL-leverantörsspecifika funktioner:
http://docs.doctrine-project.org/projects/doctrine-orm/en/2.1/cookbook/dql-user-defined-functions.html
Jag är inte ett fan av ORMs och ramverk som slaktar den rika funktionaliteten hos Postgres bara för att förbli "portabel" (vilket nästan aldrig fungerar).