Fix segment loading for inconsistent segment/newsletter segment relations

[MAILPOET-2729]
This commit is contained in:
Jan Jakeš
2020-03-18 15:07:18 +01:00
committed by Veljko V
parent 770a831d3d
commit c26b967e64
2 changed files with 5 additions and 1 deletions

View File

@ -145,7 +145,7 @@ class NewslettersResponseBuilder {
$output = [];
foreach ($newsletter->getNewsletterSegments() as $newsletterSegment) {
$segment = $newsletterSegment->getSegment();
if ($segment->getDeletedAt()) {
if (!$segment || $segment->getDeletedAt()) {
continue;
}
$output[] = $this->buildSegment($segment);

View File

@ -4,6 +4,7 @@ namespace MailPoet\Entities;
use MailPoet\Doctrine\EntityTraits\AutoincrementedIdTrait;
use MailPoet\Doctrine\EntityTraits\CreatedAtTrait;
use MailPoet\Doctrine\EntityTraits\SafeToOneAssociationLoadTrait;
use MailPoet\Doctrine\EntityTraits\UpdatedAtTrait;
use MailPoetVendor\Doctrine\ORM\Mapping as ORM;
@ -15,6 +16,7 @@ class NewsletterSegmentEntity {
use AutoincrementedIdTrait;
use CreatedAtTrait;
use UpdatedAtTrait;
use SafeToOneAssociationLoadTrait;
/**
* @ORM\ManyToOne(targetEntity="MailPoet\Entities\NewsletterEntity", inversedBy="newsletter_segments")
@ -32,6 +34,7 @@ class NewsletterSegmentEntity {
* @return NewsletterEntity
*/
public function getNewsletter() {
$this->safelyLoadToOneAssociation('newsletter');
return $this->newsletter;
}
@ -43,6 +46,7 @@ class NewsletterSegmentEntity {
* @return SegmentEntity
*/
public function getSegment() {
$this->safelyLoadToOneAssociation('segment');
return $this->segment;
}