Nie wiem o Symfony, ale możesz zastąpić
a ILIKE b
z
lower(a) LIKE lower(b)
Możesz również wypróbować operator ~~*
, który jest synonimem ILIKE
Ma nieco niższy priorytet operatorów, więc możesz potrzebować nawiasów dla połączonych ciągów, gdzie nie byłoby to z ILIKE
a ILIKE b || c
staje się
a ~~* (b || c)
Podręcznik dotyczący dopasowywania wzorców, zaczynając od LIKE
/ ILIKE
.
Myślę, że ten facet miał ten sam problem i otrzymał odpowiedź:
http://forum.symfony-project.org/viewtopic.php?f=23&t=40424
Oczywiście możesz rozszerzyć Symfony2 o funkcje specyficzne dla dostawcy SQL:
http://docs.doctrine-project.org/projects/doctrine-orm/en/2.1/cookbook/dql-user-defined-functions.html
Nie jestem fanem ORM-ów i frameworków niszczących bogatą funkcjonalność Postgresa tylko po to, by pozostać „przenośnym” (co prawie nigdy nie działa).