Use Doctrine's orphan removal for newsletter segments

[MAILPOET-2900]
This commit is contained in:
Jan Jakeš
2020-05-19 12:38:09 +02:00
committed by Veljko V
parent 04938bc6a1
commit 2242ef1a77
3 changed files with 57 additions and 10 deletions

View File

@ -177,9 +177,6 @@ class NewsletterSaveController {
}
private function updateSegments(NewsletterEntity $newsletter, array $segments) {
$oldNewsletterSegments = $newsletter->getNewsletterSegments()->toArray();
// clear old & add new newsletter segments
$newsletter->getNewsletterSegments()->clear();
foreach ($segments as $segment) {
if (!is_array($segment) || !isset($segment['id'])) {
@ -198,12 +195,6 @@ class NewsletterSaveController {
}
$newsletter->getNewsletterSegments()->add($newsletterSegment);
}
// remove orphaned newsletter segments
foreach (array_diff($oldNewsletterSegments, $newsletter->getNewsletterSegments()->toArray()) as $newsletterSegment) {
$this->newsletterSegmentRepository->remove($newsletterSegment);
}
$this->entityManager->flush();
}