Ich kenne Symfony nicht, aber Sie können es ersetzen
a ILIKE b
mit
lower(a) LIKE lower(b)
Sie können auch den Operator ~~*
ausprobieren , was ein Synonym für ILIKE
ist Es hat eine etwas niedrigere Operatorpriorität, daher benötigen Sie möglicherweise Klammern für verkettete Zeichenfolgen, wo Sie dies mit ILIKE
nicht tun würden
a ILIKE b || c
wird
a ~~* (b || c)
Das Handbuch zum Mustervergleich, beginnend mit LIKE
/ ILIKE
.
Ich glaube, dieser Typ hatte das gleiche Problem und bekam eine Antwort:
http://forum.symfony-project.org/viewtopic.php?f=23&t=40424
Natürlich können Sie Symfony2 um herstellerspezifische SQL-Funktionen erweitern:
http://docs.doctrine-project.org/projects/doctrine-orm/en/2.1/cookbook/dql-benutzerdefinierte-funktionen.html
Ich bin kein Fan von ORMs und Frameworks, die die reichhaltige Funktionalität von Postgres abschlachten, nur um „portabel“ zu bleiben (was kaum jemals funktioniert).