Jeg ved ikke med Symfony, men du kan erstatte
a ILIKE b
med
lower(a) LIKE lower(b)
Du kan også prøve operatoren ~~*
, som er et synonym for ILIKE
Den har en lidt lavere operatorprioritet, så du har muligvis brug for parenteser for sammenkædede strenge, hvor du ikke ville med ILIKE
a ILIKE b || c
bliver
a ~~* (b || c)
Manualen om mønstermatchning, der starter med LIKE
/ ILIKE
.
Jeg tror, at denne fyr havde det samme problem og fik et svar:
http://forum.symfony-project.org/viewtopic.php?f=23&t=40424
Du kan naturligvis udvide Symfony2 med SQL-leverandørspecifikke funktioner:
http://docs.doctrine-project.org/projects/doctrine-orm/en/2.1/cookbook/dql-user-defined-functions.html
Jeg er ikke fan af ORM'er og frameworks, der nedbryder Postgres' rige funktionalitet bare for at forblive "bærbar" (hvilket næsten aldrig fungerer).