Я пытаюсь использовать LIKE сравнение в doctrine DQL в MySQL базе данных. Он работает непосредственно в SQL в базе данных и выглядит следующим образом:
SELECT *, (name LIKE '%testO%') as partOfName
from organization
ORDER BY partOfName DESC;
Это прекрасно работает.
Теперь я пытаюсь реализовать эту логику c в Doctrine. Мой Querybuilder выглядит следующим образом:
oQueryBuilder
->from(OrganizationEntity::class, organization)
->select('organization')
->addSelect('(organization.name LIKE %:searchTerm%) AS searchTermIsPartOfName')
->setParameter('searchTerm', $sSearchTerm)
->orderBy('searchTermIsPartOfName', 'DESC')
;
При попытке запустить его или получить SQL из него выдается следующая ошибка:
[Ошибка синтаксиса] строка 0, col 97: ошибка: ожидаемая доктрина \ ORM \ Query \ Lexer :: T_CLOSE_PARENTHESIS, полученная «LIKE»
Это определенно часть о LIKE. Я прокомментировал последние три строки, и это работает.
Как мне перевести вышеприведенный рабочий SQL в Doctrine DQL?