應用程序是基於Symfony2和Doctrine2構建的。Doctrine2 - 檢查相關條目是否被刪除(單向關係)
我有OneToMany單向關係,並且當關聯的實體條目已被刪除時,引用列仍設置爲指向已刪除的條目,這是正確的行爲,因爲它只是單向關聯。但是這使我在樹枝模板中出現問題,因爲如果我要嘗試加載它,則會發現錯誤實體未找到。我試圖檢查樹枝使用是定義,但沒有區別。檢查相關條目是否未被刪除的最佳方法是什麼?
實體例如:
class Programme
{
...
/**
* @var string
*
* @ORM\ManyToOne(targetEntity="Form")
* @ORM\JoinColumn(name="form_id", referencedColumnName="id", nullable=true)
*/
private $form;
...
}
嫩枝檢查:
{% if programme.form is defined %}
//always getting here
{% endif %}
我也試過了。我認爲問題在於,即使關聯的記錄被刪除,實際上引用的標識仍然可用於該記錄,但是如何檢查它? – trikess 2014-09-03 12:04:53
如果你想檢查參考ID是否存在,那麼如果它將進入裏面,如果條件參考ID在那裏。嘗試打印{{programme.form.feldName}}。如果你想在刪除父行刪除時設置null,只需在你的實體關係中使用OnDelete =「SET NULL」。如果您不再需要刪除父行上的子行,則將onDelete =「CASCADE」。那麼你不再需要像這樣檢查模板文件。:) – herr 2014-09-04 09:11:03