doctrine query builder を使用してクエリを作成します。
$qb = $this->getEntityManager()->createQueryBuilder();
$qb->select(array('u'))->from('Account', 'a');
-- problem here
$qb->where('lower_unaccent(u.email) LIKE :search');
$qb->setParameter('search', $search['search'] . '%');
これで問題なく動作しますが、検索パラメーターに lower_unaccent 関数も適用したいと思います。
クエリビルダーでこれを行う方法はありますか? 私がそうLOWER_UNACCENT(u.email) LIKE LOWER_UNACCENT(:search)
すると、次のエラーが表示されるためです。
Error: Expected Doctrine\ORM\Query\Lexer::T_STRING, got 'LOWER_UNACCENT'
LOWER_UNACCENT を LOWER に変更しても、同じエラー メッセージが表示されます。