Doctrine 2 DQL:不能重复使用命名参数?

5
我发现我不能像下面这样做,注意':user'被使用了两次。
$query = $em->createQuery('select p from Application\Models\Project p
                           WHERE  p.owner = :user
                           OR :user MEMBER OF p.collaborators');
$query->setParameter('user', $user);

我遇到了错误 "array_combine(): Both parameters should have an equal number of elements"

我可以通过以下方法解决这个问题

$query = $em->createQuery('select p from Application\Models\Project p
                           WHERE  p.owner = :user
                           OR :user1 MEMBER OF p.collaborators');
1个回答

3
如果您使用?X,您可以做到这一点。
$query = $em->createQuery('select p from Application\Models\Project p
                           WHERE  p.owner = ?0
                           OR ?0 MEMBER OF p.collaborators');
$query->setParameters(array($user));

是否可以使用“?”语法来使用命名参数,而不是编号参数? - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接