我正在尝试在Doctrine中创建一个可选的OneToOne映射。
我有一张表格,其中包含所有城市和邮政编码(不应更改此表格),并且我有一张包含地址和映射城市的表格。但有时候我不想在开始时将城市添加到我的地址(可能稍后就会)。但是当我没有向地址添加城市时,地址上的持久性会给我一个反射异常,因为没有像'null'这样的对象,它应该是de City对象。
我不希望每次都将空城添加到数据库中,因为不应该向城市表添加或删除任何内容。
有什么建议吗?或者我错过了什么?
class Address{
/**
* @OneToOne(targetEntity="City")
* @JoinColumn(name="city_id", referencedColumnName="id")
*/
private $city = '';
我考虑的可能解决方案:
答案 0 :(得分:16)
只需将nullable=true
添加到@JoinColumn
注释