Non conosco Symfony, ma puoi sostituirlo
a ILIKE b
con
lower(a) LIKE lower(b)
Puoi anche provare l'operatore ~~*
, che è sinonimo di ILIKE
Ha una precedenza dell'operatore leggermente inferiore, quindi potresti aver bisogno di parentesi per stringhe concatenate dove non lo faresti con ILIKE
a ILIKE b || c
diventa
a ~~* (b || c)
Il manuale sul pattern matching, a partire da LIKE
/ ILIKE
.
Penso che questo ragazzo abbia avuto lo stesso problema e abbia ricevuto una risposta:
http://forum.symfony-project.org/viewtopic.php?f=23&t=40424
Ovviamente, puoi estendere Symfony2 con funzioni SQL specifiche del fornitore:
http://docs.doctrine-project.org/projects/doctrine-orm/en/2.1/cookbook/dql-user-defined-functions.html
Non sono un fan degli ORM e dei framework che massacrano le ricche funzionalità di Postgres solo per rimanere "portatili" (cosa che non funziona quasi mai).