Pregunta

Encuentro que no puedo hacer algo como a continuación, notar ':user'se usa dos veces

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

Recibo el error "array_combine(): Both parameters should have an equal number of elements"

Puedo solucionar el problema haciendo algo como a continuación en su lugar

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

Solución

si usas? x puedes hacer eso.

$query = $em->createQuery('select p from Application\Models\Project p
                           WHERE  p.owner = ?0
                           OR ?0 MEMBER OF p.collaborators');
$query->setParameters(array($user));
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top