Může být lepší spouštět dotaz s podmínkou IN než iterovat.
$ids = $this->createQueryBuilder('product')
->join('..your joins..')
->where('..your wheres..')
->select('product.id')
->getQuery()->getResult();
$this->createQueryBuilder('product')
->where('product.id in (:ids)')
->setParameter('ids', $ids)
->delete()
->getQuery()
->execute();
- Výhody:běží rychleji, není třeba opakovat
- Nevýhody:nelze se připojit k preRemove
Pokud jde o vášnivou debatu „kam to dát“, odvažte se to dát do ovladače, pokud chcete. To je zcela na vás. V budoucnu však pro vás může být užitečnější, když kód dostanete do vyhrazené třídy úložiště doktrín. Mělo by to být velmi snadné a mělo by se snadno měnit / udržovat.