Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
primogenial
/
languages
/
wp-content-20241001222009
/
plugins
/
mailpoet
/
lib
/
Doctrine
/
EntityTraits
:
SafeToOneAssociationLoadTrait.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace MailPoet\Doctrine\EntityTraits; if (!defined('ABSPATH')) exit; use MailPoetVendor\Doctrine\ORM\EntityNotFoundException; use MailPoetVendor\Doctrine\ORM\Proxy\Proxy; trait SafeToOneAssociationLoadTrait { private function safelyLoadToOneAssociation(string $propertyName, $emptyValue = null) { if (!property_exists($this, $propertyName)) { throw new \InvalidArgumentException("Property '$propertyName' does not exist on class '" . get_class($this) . "'"); } if (!$this->$propertyName instanceof Proxy) { return; } if ($this->$propertyName->__isInitialized()) { return; } // if a proxy exists (= we have related entity ID), try to load it // to see if it is a valid ID referencing an existing entity try { $this->$propertyName->__load(); } catch (EntityNotFoundException $e) { $this->$propertyName = $emptyValue; } } }