学说关系 - 引用列名作为实体的标识符
Doctrine Relationships - referenced Column name as identifier for entity
所以我有这 2 个捆绑包:
UserBundle
BlogBundle
和这 3 个实体:
UserBundle:User
BlogBundle:User
BlogBundle:Article
BlogBundle:User
使用双向一对一关系扩展 UserBundle:User
。连接列名称是 user_id
,它是一个关联键:
BlogBundle\Entity\User:
type: entity
table: blog_users
id:
user:
associationKey: true
oneToOne:
user:
targetEntity: UserBundle\Entity\User
inversedBy: blog_user
joinColumn:
name: user_id
referencedColumnName: id
现在我想在 BlogBundle:User
和 BlogBundle:Article
之间创建双向一对多关系。
目前我正在尝试这个:
BlogBundle:User
oneToMany:
articles:
targetEntity: Article
mappedBy: author
BlogBundle:Article
manyToOne:
author:
targetEntity: User
inversedBy: Article
joinColumn:
name: author
referencedColumnName: user_id
我的问题 是,它有效,我可以通过 Article
对象从 UserBundle:User
访问数据,但在探查器中它显示它们不是正确映射。我的猜测是可以做我正在尝试的事情,但我只是做错了什么。
我错过了什么?
我认为问题出在 inversedBy 上,你必须在这里写字段的名称,而不是实体的名称。
您的代码将是:
BlogBundle:User
oneToMany:
articles:
targetEntity: Article
mappedBy: author
BlogBundle:Article
manyToOne:
author:
targetEntity: User
inversedBy: articles
joinColumn:
name: author
referencedColumnName: user_id
所以我有这 2 个捆绑包:
UserBundle
BlogBundle
和这 3 个实体:
UserBundle:User
BlogBundle:User
BlogBundle:Article
BlogBundle:User
使用双向一对一关系扩展 UserBundle:User
。连接列名称是 user_id
,它是一个关联键:
BlogBundle\Entity\User:
type: entity
table: blog_users
id:
user:
associationKey: true
oneToOne:
user:
targetEntity: UserBundle\Entity\User
inversedBy: blog_user
joinColumn:
name: user_id
referencedColumnName: id
现在我想在 BlogBundle:User
和 BlogBundle:Article
之间创建双向一对多关系。
目前我正在尝试这个:
BlogBundle:User
oneToMany:
articles:
targetEntity: Article
mappedBy: author
BlogBundle:Article
manyToOne:
author:
targetEntity: User
inversedBy: Article
joinColumn:
name: author
referencedColumnName: user_id
我的问题 是,它有效,我可以通过 Article
对象从 UserBundle:User
访问数据,但在探查器中它显示它们不是正确映射。我的猜测是可以做我正在尝试的事情,但我只是做错了什么。
我错过了什么?
我认为问题出在 inversedBy 上,你必须在这里写字段的名称,而不是实体的名称。
您的代码将是:
BlogBundle:User
oneToMany:
articles:
targetEntity: Article
mappedBy: author
BlogBundle:Article
manyToOne:
author:
targetEntity: User
inversedBy: articles
joinColumn:
name: author
referencedColumnName: user_id