Всем привет!
Нужна помощь разобраться с запросом к БД.
1. Ситуация:
в БД есть 3 таблицы:
#repairwork (виды рем.работ) - справочник
id | name |
#demand (заявки)
id | прочие параметры | ... | прочие параметры |
#repairworkdemand (рем.работы, примененные в заявках)
id | demand.id | repairwork.id | прочие параметры | ... | прочие параметры |
Entity Demand.php #demand (заявки) имеет параметр $repairworkdemand, связывающий Entity Demand.php отношением one-to-many с сущностью Entity Repairworkdemand.php #repairworkdemand (рем.работы, примененные в заявках)
На сайте автоматом постранично выводятся все заявки - используется та же Entity Demand.php #demand (заявки) - рем.работы цепляются и выводятся в соответствующий столбец.
На этой же странице есть форма с фильтрацией заявок #demand по всем параметрам - все работает, все фильтруется - в обработке используется запрос к БД, написанный в:
...
$oldemands = $this->entityManager->createQuery(SELECT o FROM Acme\AppBundle\Entity\...\Oldemand o WHERE ...);
$oldemands->setParameters( ... );
...
осуществляемый через Entity Demand.php #demand (заявки), которая "завязана" на #repairworkdemand (рем.работы, примененные в заявках)
Теперь понадобилось добавить фильтрацию по параметру repairwork.id (по видам рем.работ) в виде раскрывающегося списка repairwork.name. Список работает, сабмитится, repairwork.id передается в обработку. В итоге обработка должна "вытащить только те заявки, в которых есть указанный repairwork.id"
2.Вопрос:
как именно в таком формате, а если нельзя, то в каком тогда возможно
...
$oldemands = $this->entityManager->createQuery( ... );
$oldemands->setParameters( ... );
...
прописать запрашиваемый repairwork.id к #repairworkdemand (рем.работы, примененные в заявках), чтобы в итоге вывести найденные заявки?
3.Примечание:
напоминание, Entity Demand.php #demand (заявки) и Entity Repairworkdemand.php #repairworkdemand (рем.работы, примененные в заявках) связаны через прописанную в Entity Demand.php #demand (заявки) переменную $repairworkdemand:
...
/**
* @ORM\OneToMany(targetEntity="Acme\AppBundle\Entity\Show\Repairworkoldemand", mappedBy="oldemand", cascade={"persist"})
*/
private $repairworkdemand;
public function getRepairworkdemand()
{
return $this->repairworkdemand;
}
...
Спасибо!