我知道Doctrine 2.0支持复合键。但我无法找到我要找的东西。
我有3张桌子=> agent,client和client_group 代理创建客户端和client_group。 Client_Group具有复合主键=> id,agent_id。 agent_id来自代理表。虽然我希望id自动递增,但agent_id来自代理表 我正在尝试编写yaml文件但我不确定如何将此agent_id指定为client_group中的主键。 client_group_id和agent_id是客户端表中的外键。另外,我在Doctrine文档中读过,复合PK不能包含自动递增的字段。
所以,如果我真的可以做我想在这里制作的东西,那么我很想。
只显示关系的yaml看起来像这样:
剂
oneToMany:
client_group:
targetEntity: ClientGroup
mappedBy: agent
client:
targetEntity: Client
mappedBy: agent
client_group
manyToOne:
agent_id:
targetEntity: Agent
inversedBy: client_group
joinColumn:
name: agent_id
referencedColumnName: id
oneToMany:
client:
targetEntity: Client
mappedBy: client_group
客户端
manyToOne:
client:
targetEntity: ClientGroup
inversedBy: client
joinColumn:
name: client_group_id
referencedColumnName: id
agent:
targetEntity: Agent
inversedBy: agents
joinColumn:
name: agent_id
referencedColumnName: id
对此的任何帮助都会受到重视。感谢。
答案 0 :(得分:9)
文档中就是这样。我的问题的答案是使用associationKey。
http://doctrine-orm.readthedocs.org/en/stable/tutorials/composite-primary-keys.html
如果你在上面的链接上找到动态属性,解决方案就在那里。然而,限制是,我希望自动生成复合主键的一个字段,我理解,Doctrine 2.1不支持。