Tôi không biết về Symfony, nhưng bạn có thể thay thế
a ILIKE b
với
lower(a) LIKE lower(b)
Bạn cũng có thể thử toán tử ~~*
, là từ đồng nghĩa với ILIKE
Nó có mức độ ưu tiên toán tử thấp hơn một chút, vì vậy bạn có thể cần dấu ngoặc đơn cho các chuỗi được nối mà bạn sẽ không làm với ILIKE
a ILIKE b || c
trở thành
a ~~* (b || c)
Hướng dẫn về đối sánh mẫu, bắt đầu bằng LIKE
/ ILIKE
.
Tôi nghĩ anh chàng này cũng gặp vấn đề tương tự và đã nhận được câu trả lời:
http://forum.symfony-project.org/viewtopic.php?f=23&t=40424
Rõ ràng, bạn có thể mở rộng Symfony2 với các chức năng cụ thể của nhà cung cấp SQL:
http://docs.doctrine-project.org/projects/doctrine-orm/en/2.1/cookbook/dql-user-defined-functions.html
Tôi không phải là một fan hâm mộ của ORM và các khuôn khổ nhưng việc sử dụng chức năng phong phú của Postgres chỉ để duy trì tính "di động" (điều này hiếm khi hoạt động).