首页 文章

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));
    

相关问题