我有一组术语,我想在一个 Doctrine 2 查询中使用 LIKE 通配符进行匹配。数据库是 SQL,我使用的是 DQL,但查询构建器解决方案会很好。我当前的查询设置是这样的:
foreach($textterms as $text)
{
$parameters[] = '%-'.$text.'-%';
}
$em = $this->getDoctrine()->getManager();
$query = $em->createQuery(
'SELECT p FROM Post p WHERE p.searchfield IN LIKE (:text) ORDER BY p.datetime DESC'
)->setParameter('text', $parameters);
$posts = $query->getResult();
但是我得到了 symfony 错误“QueryException: [Syntax Error] line 0, col 62: Error: Expected Literal, got '('”
这个查询在教义中可能吗?