Tengo que agregar dinámicamente expresiones OR
al generador de consultas devuelto por getListQueryBuilder
, justo después de agregar una cláusula where
. No puedo encontrar ninguna forma adecuada de hacerlo, recién comencé a aprender Doctrine.Encadenando orX en el generador de consultas Doctrine2
¿Cómo puedo "encadenar" un número dado de orX
y agregarlos a mi constructor?
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 */));
Si no desea leer el artículo completo: $ o X = $ builder-> expr() -> o X(); foreach ($ ORs como $ o) { $ orX-> add ($ or); } $ builder-> andWhere ($ orX); –
@LouTerrailloune que debería formar parte de la respuesta –
¡Eso me sirvió de algo! aplausos por señalarlo :) – Sharpy35