Не знам за Symfony, но можете да замените
a ILIKE b
с
lower(a) LIKE lower(b)
Можете също така да опитате оператора ~~*
, което е синоним на ILIKE
Той има малко по-нисък приоритет на оператора, така че може да имате нужда от скоби за конкатенирани низове, където не бихте с ILIKE
a ILIKE b || c
става
a ~~* (b || c)
Ръководството за съвпадение на шаблони, започващо с LIKE
/ ILIKE
.
Мисля, че този човек имаше същия проблем и получи отговор:
http://forum.symfony-project.org/viewtopic.php?f=23&t=40424
Очевидно можете да разширите Symfony2 със специфични функции на SQL доставчик:
http://docs.doctrine-project.org/projects/doctrine-orm/en/2.1/cookbook/dql-user-defined-functions.html
Не съм фен на ORM и рамки, които избиват богатата функционалност на Postgres само за да останат „преносими“ (което почти никога не работи).