Also ich habe die Abfrage folgende Lehre:Ungültige Parameternummer Lehre
$qb = $this->createQueryBuilder('c')
->select('c','g')
->join('c.descendant', 'g');
$qb2 = $this->createQueryBuilder('c2')
->select('c2.id')
->addOrderBy('c2.ancestor', 'ASC');
if ($params['rootGroup']) {
$qb2->where('c2.ancestor = :groupId')
->setParameter('groupId', $params['rootGroup']->getId());
}
$in = $qb->expr()->in('g.id', $qb2->getDQL());
$qb->where($in);
, wenn ich die getQuery run() Ich habe die folgende Ausnahmemeldung:
Ungültige Parameternummer: Anzahl der gebundenen Variablen nicht Anzahl von Tokens entsprechen
ich Dump meine DQL und ich habe folgendes:
"SELECT c, g FROM CI\GroupBundle\Entity\GroupClosure c INNER JOIN c.descendant g WHERE g.id IN(SELECT c2.id FROM CI\GroupBundle\Entity\GroupClosure c2 WHERE c2.ancestor = :groupId ORDER BY c2.ancestor ASC)"
Ich dump auch die getParameter() von $ qb und $ qb2 und ich habe leere Array für $ qb und ein Array mit 1 Parameter-Objekt auf $ qb2.
Ich weiß wirklich nicht, was falsch mit meiner Abfrage ist, da ich erwarte, dass ich nur 1 Wert binden sollte.
Danke.
Was bedeutet '$ params ['rootGroup'] -> getId()' zurück? – LBA
ganze Zahl. Die primäre ID der Entität. – iamjc015