Symfony 2:未请求时,EntityManager级联保持不变

时间:2013-01-15 15:10:27

标签: php symfony doctrine

我有一个与另一个对象(城市)有关系“OneToMany”的对象(酒店)。

保存对象“Hotel”时,persistCadade会在对象“City”上触发持久化,然后尝试插入。

如果请求持久化,我可能会理解它要插入的事实。我实际上必须在City对象中进行一些更改,但我不需要保存这些更改。

我的酒店对象应该只使用正确的city_id更新,而不管城市对象上发生了什么,因为我没有提到任何“级联持续”。

对可能导致此问题的原因有任何疑问?

酒店等级:

/**
 * @ORM\ManyToOne(targetEntity="XYZ\Entity\City")
 * @ORM\JoinColumn(name="city_id", referencedColumnName="id")
 */
protected $city;

谢谢,

1 个答案:

答案 0 :(得分:2)

要传递给City对象的Hotel对象必须保留,以便拥有主键(将用作外键)。

如果没有持久的city_id对象,则无法获取City