Devo aggiungere dinamicamente espressioni OR
al generatore di query restituito da getListQueryBuilder
, subito dopo l'aggiunta di una clausola where
. Non riesco a trovare un modo adeguato per farlo, ho appena iniziato a imparare Doctrine.Concatenamento orX in Doctrine2 query builder
Come posso "concatenare" un determinato numero di orX
e aggiungerli al mio builder?
public function getListQueryBuilder($ownerId)
{
$qb = $this->createQueryBuilder('t');
return $qb
->where($qb->expr()->eq('t.user', ':user'))
->setParameter('user', $ownerId);
}
$builder = getListQueryBuilder(4);
// $ORs is a dynamically builded array, here is just an example
$ORs = array();
$ORs[] = $builder->expr()->like("t.name", 'my name');
$ORs[] = $builder->expr()->like("t.description", 'desc');
// Adding ORs to the builder
$builder->andWhere($builder->expr()->orX(/* here */));
Se non volete leggere l'articolo completo: $ ORX = $ builder-> expr() -> Orx(); foreach ($ ORs come $ o) { $ orX-> aggiungi ($ o); } $ builder-> andWhere ($ orX); –
@LouTerrailloune che dovrebbe diventare parte della risposta –
Questo ha fatto il trucco per me! evviva per indicarlo :) – Sharpy35