Fix segment loading for inconsistent segment/newsletter segment relations
[MAILPOET-2729]
This commit is contained in:
@ -145,7 +145,7 @@ class NewslettersResponseBuilder {
|
|||||||
$output = [];
|
$output = [];
|
||||||
foreach ($newsletter->getNewsletterSegments() as $newsletterSegment) {
|
foreach ($newsletter->getNewsletterSegments() as $newsletterSegment) {
|
||||||
$segment = $newsletterSegment->getSegment();
|
$segment = $newsletterSegment->getSegment();
|
||||||
if ($segment->getDeletedAt()) {
|
if (!$segment || $segment->getDeletedAt()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$output[] = $this->buildSegment($segment);
|
$output[] = $this->buildSegment($segment);
|
||||||
|
@ -4,6 +4,7 @@ namespace MailPoet\Entities;
|
|||||||
|
|
||||||
use MailPoet\Doctrine\EntityTraits\AutoincrementedIdTrait;
|
use MailPoet\Doctrine\EntityTraits\AutoincrementedIdTrait;
|
||||||
use MailPoet\Doctrine\EntityTraits\CreatedAtTrait;
|
use MailPoet\Doctrine\EntityTraits\CreatedAtTrait;
|
||||||
|
use MailPoet\Doctrine\EntityTraits\SafeToOneAssociationLoadTrait;
|
||||||
use MailPoet\Doctrine\EntityTraits\UpdatedAtTrait;
|
use MailPoet\Doctrine\EntityTraits\UpdatedAtTrait;
|
||||||
use MailPoetVendor\Doctrine\ORM\Mapping as ORM;
|
use MailPoetVendor\Doctrine\ORM\Mapping as ORM;
|
||||||
|
|
||||||
@ -15,6 +16,7 @@ class NewsletterSegmentEntity {
|
|||||||
use AutoincrementedIdTrait;
|
use AutoincrementedIdTrait;
|
||||||
use CreatedAtTrait;
|
use CreatedAtTrait;
|
||||||
use UpdatedAtTrait;
|
use UpdatedAtTrait;
|
||||||
|
use SafeToOneAssociationLoadTrait;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\ManyToOne(targetEntity="MailPoet\Entities\NewsletterEntity", inversedBy="newsletter_segments")
|
* @ORM\ManyToOne(targetEntity="MailPoet\Entities\NewsletterEntity", inversedBy="newsletter_segments")
|
||||||
@ -32,6 +34,7 @@ class NewsletterSegmentEntity {
|
|||||||
* @return NewsletterEntity
|
* @return NewsletterEntity
|
||||||
*/
|
*/
|
||||||
public function getNewsletter() {
|
public function getNewsletter() {
|
||||||
|
$this->safelyLoadToOneAssociation('newsletter');
|
||||||
return $this->newsletter;
|
return $this->newsletter;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -43,6 +46,7 @@ class NewsletterSegmentEntity {
|
|||||||
* @return SegmentEntity
|
* @return SegmentEntity
|
||||||
*/
|
*/
|
||||||
public function getSegment() {
|
public function getSegment() {
|
||||||
|
$this->safelyLoadToOneAssociation('segment');
|
||||||
return $this->segment;
|
return $this->segment;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user