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