Привет, я пытаюсь построить запрос, используя QueryBuilder
и Query\Expr
. Моя проблема заключается в создании дополнительного условия, чтобы получить список моделей для всех этих условий?QueryBuilder и под-условия
Status
являетсяtrue
, а не в спискеmodel
имениStatus
являетсяfalse
, а не в другом спискеmodel
имени
Код:
public function process(QueryBuilder $qb)
{
$cond1 = new Expr\Andx;
$cond1->add($qb->expr()->eq('status', 0);
$cond2= new Expr\Andx;
$cond2->add($qb->expr()->notIn('model', array('308','408'));
$cond1->add($cond2);
$cond3 = new Expr\Andx;
$cond3->add($qb->expr()->eq('status', 1);
$cond4= new Expr\Andx;
$cond4->add($qb->expr()->notIn('model', array('A1','A2'));
$cond3->add($cond4);
$qb->andWhere($cond1);
$qb->andWhere($cond3);
}
класс модели
Class Vehicle{
/**
* @var string
*
* @ORM\Column(name="model", type="string", length=255, nullable=true)
*/
private $modele;
/**
* @var string
*
* @ORM\Column(name="make", type="string", length=255, nullable=true)
*/
private $make;
/**
* @var boolean (status for vehicule 1 = Used vehicle)
*
* @ORM\Column(name="status", type="boolean")
* @Serializer\Groups({"list", "details"})
*/
private $status;
//-- Other properties, getter & setter
}
Спасибо за помощь
Вам даже нужны эти? :) Да, они делают запрос более читабельным, но логичным образом они могут вообще не иметь значения ... –
@JovanPerovic: Да Мне нужны 'Query Builder' и' Expr'. Причина: запрос строится с помощью коллекции фильтров ... – pietro
Извините, мне показалось, что вам нужно обернуть весь запрос '(' и ')', и мой комментарий был о нем;) –