2011-12-19 65 views
2

我在用户和地址之间有一对多的双向关系。在yml文件中,我是否需要为Address实体指定user_id字段?我这样做,当我生成的实体干将它没有创建的getUser()或SETUSER()代替getUserId()和setUserId()Doctrine2 oneToMany用yml文件和setter/getters

回答

5

在您Address实体你将不得不与一个User实体$user场,不user_id有关integer。请记住,您正在使用Doctrine而不是SQL或关系数据库表进行实体映射。试着尽可能地考虑你的商业模式,Doctrine将处理剩下的事情,并且在内部它将知道在address表中创建一个与用户ID相关的外键。

用户映射

oneToMany: 
    addresses: 
    targetEntity: Address 
    mappedBy: user 

地址映射

manyToOne: 
    user: 
    targetEntity: User 
    inversedBy: addresses 
+0

非常感谢您@Kasheen – DavidW 2011-12-20 08:57:50

+0

这种解释是如此的简单和直接的......甚至5年后它仍然是一个完美的解释!谢谢 – Brett 2016-08-28 05:51:15