Saya tidak tahu tentang Symfony, tetapi Anda dapat menggantinya
a ILIKE b
dengan
lower(a) LIKE lower(b)
Anda juga dapat mencoba operator ~~*
, yang merupakan sinonim dari ILIKE
Ini memiliki prioritas operator yang sedikit lebih rendah, jadi Anda mungkin memerlukan tanda kurung untuk string gabungan di mana Anda tidak akan melakukannya dengan ILIKE
a ILIKE b || c
menjadi
a ~~* (b || c)
Panduan tentang pencocokan pola, dimulai dengan LIKE
/ ILIKE
.
Saya pikir orang ini memiliki masalah yang sama dan mendapat jawaban:
http://forum.symfony-project.org/viewtopic.php?f=23&t=40424
Jelas, Anda dapat memperluas Symfony2 dengan fungsi khusus vendor SQL:
http://docs.doctrine-project.org/projects/doctrine-orm/en/2.1/cookbook/dql-user-defined-functions.html
Saya bukan penggemar ORM dan kerangka kerja yang membantai fungsionalitas Postgres yang kaya hanya untuk tetap "portabel" (yang hampir tidak pernah berfungsi).