2013-08-05 16 views
5

Ich bin wirklich müde, herauszufinden, wie ich Doctrine 2 einchecken kann, wenn ein verwandter Entitätsdatensatz in DB existiert. Hilf mir bitte.Doctrine2 Überprüfen, ob die zugehörige Entität existiert

Zum Beispiel habe ich zwei Entitäten. Einer ist der Bestellstatus bestimmter Lieferfirma. Ein anderer ist Ordnung.

order.php

/** 
* @ORM\OneToOne(targetEntity="Application\DeliveryBundle\Entity\DpdOrderStatus", mappedBy="order") 
* @var DpdOrderStatus 
*/ 
$dpdOrderStatus; 

DpdOrderStatus.php

/** 
* @ORM\Id 
* @ORM\OneToOne(targetEntity="\Application\FrontendBundle\Entity\Order", inversedBy="dpdOrderStatus") 
* @ORM\JoinColumn(onDelete="CASCADE") 
* @var Order 
*/ 
$order; 

Auftrag Einheit hat manchmal nicht den Status und ich muss überprüfen, ob es hat.

AFAIK, wenn ich werde versuchen, is_null($order->getDpdOrderStatus()) verwenden es immer false sein wird, weil Lehre immer Proxy Objekte für seine Einheiten erstellen, wenn EAGER Modus nicht angegeben ist.

Also, was ist der beste Weg zu überprüfen, ob meine Statuseinheit in der Datenbank existiert?

+0

Haben Sie das versucht? Der Proxy von Doctrine lädt die fehlenden Daten. – meze

+0

Entschuldigung, das ist mein Fehler. Ich meine natürlich falsch. –

Antwort

0

für mich Dies funktionierte.

public function hasOrderStatus() { 
    return !is_null($this->dpdOrderStatus) && (bool) $this->dpdOrderStatus->getId(); 
} 
Verwandte Themen