Php 原则2 DQL:无法重用命名参数?

Php 原则2 DQL:无法重用命名参数?,php,doctrine-orm,dql,Php,Doctrine Orm,Dql,我发现我无法执行以下操作,请注意,“: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
”被使用了两次

$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\u combine():两个参数的元素数应该相等

我可以通过执行以下操作来解决此问题

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

如果您使用?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));