Het is misschien beter om een query uit te voeren met de IN-voorwaarde in plaats van te herhalen.
$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();
- Voordelen:werkt sneller, herhalen is niet nodig
- Nadelen:je kunt niet inhaken op preRemove
Wat betreft het verhitte "waar het te plaatsen" debat, durf het in de controller te plaatsen als je wilt. Dat is helemaal aan jou. In de toekomst kan het echter nuttiger voor u zijn als u de code in de speciale leerboekklas plaatst. Het moet heel gemakkelijk te doen zijn en het is gemakkelijk te wijzigen / te onderhouden.