Использование COLLATE внутри Doctrine DQL Query (Symfony2)
Я не могу найти ничего, связанного с использованием COLLATE в DQL-запросе с Doctrine (и, разумеется, он не работает).
Моя конкретная проблема:
У меня есть стол сutf8_general_ci
кодировок. У меня есть одно конкретное поле с акцентированными символами (например, «á», «ű», «ő» и т. Д.)
Основное сравнение сutf8_general_ci
не может определить разницу между обычными символами и их акцентированными парами (a = á, u = ű, o = ő), что для меня совершенно нормально для большинства запросов, которые попадают в эту таблицу! Итак, если я скажу:
col1 | col2
------|-------
1 | árvíz
------|-------
2 | arviz
Этот запрос вернет оба результата:
SELECT * FROM `table` WHERE `col2` = 'arviz'
Опять же, это прекрасно для меня в большинстве случаев!
Но есть одна конкретная функция, где мне нужно определить разницу, и в обычном MySQL я мог бы использовать:
SELECT * FROM `table` WHERE `col2` COLLATE utf8_bin = 'arviz'
Это возвращает только версию без акцента.
Вопрос в том, можно ли сделать что-то подобное, используя createQuery (напишите dql) из Doctrine или построитель запросов?
Я думаю, что прочитал всю соответствующую документацию, но не могу найти способ сделать это. Возможно ли это как-то?