Ich lost Trilion Stunden google dies, aber keine der Lösungen waren gut.Symfony2 Doctrine QueryBuilder wo IN
Ich habe diese Querybuilder:
$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)
;
ich eine zweite Abfrage tun könnte und dann wie $qb->getDQL()
tun, aber hätte ich die Abfrage-Cache?
Fehler:
Invalid parameter number: number of bound variables does not match number of tokens
omg ich der Benutzer das Gefühl, so dumm ... natürlich hilft! Ich habe es nicht bemerkt ... und ja, die Array-Werte haben geholfen! Und nun endlich magisch arrayFolloweeIds = implodieren ("',", $ arrayFolloweeIds) ... ich hoffe, die Leute werden es finden. Danke ! – EnchanterIO
'array_values' hat mir auch geholfen. Aber warum? Ich habe ein indiziertes Array verwendet. Auf der anderen Seite funktionierte es mit einer Löschabfrage ohne 'array_values'. Ich benutze Doktrin/Orm v2.5.4 – alpham8
Ich denke, das Problem wird durch einen numerischen Index in der Reihenfolge der Array oder möglicherweise String numerische Indizes verursacht. Nicht 100% sicher, aber wenn das der Fall ist, warum array_values funktioniert, weil es Ihnen ein neues Array richtig indiziert gibt –