query doctrine dql query-builder

query - install doctrine symfony 4



Symfony2 Doctrine querybuilder donde IN (2)

¿Está configurando el parámetro de usuario pero no veo que se use en la consulta en ninguna parte?

También tuve problemas con WHERE IN y Doctrine QueryBuilder con arrays que me darían un error similar, y, curiosamente, ejecutar array_values antes de vincular el parámetro parecía resolver esos problemas también.

Tratar:

$qb2=$this->createQueryBuilder(''s'') ->addSelect(''u'') ->innerJoin(''s.user'',''u'') ->where("u.id IN(:followeeIds)") ->andWhere(''s.admin_status = false'') ->setParameter(''followeeIds'', array_values($arrayFolloweeIds)) ->orderBy(''s.id'',''DESC'') ->setMaxResults(15) ;

Perdí tres horas de google, pero ninguna de las soluciones era buena.

Tengo este constructor de consultas:

$qb2=$this->createQueryBuilder(''s'') ->addSelect(''u'') ->innerJoin(''s.user'',''u'') ->where("u.id IN(:followeeIds)") ->andWhere(''s.admin_status = false'') ->setParameter(''user'', $user) ->setParameter(''followeeIds'', $arrayFolloweeIds) ->orderBy(''s.id'',''DESC'') ->setMaxResults(15) ;

Podría hacer una segunda consulta y luego hacer como $qb->getDQL() pero ¿tendré que cachear la consulta?

Error:

Invalid parameter number: number of bound variables does not match number of tokens


En Symfony2.8 el siguiente ejemplo me ayuda

... $qb2->where( $qb2->expr()->in(''u.id'', '':ids'') ) ->setParameter(''ids'', $ids_array) ...