Doctrine orm 复合主键
我知道Doctrine 2.0支持复合密钥。但我不太可能找到我要找的东西 我有3个表=>代理、客户和客户组。Doctrine orm 复合主键,doctrine-orm,composite-key,composite-primary-key,Doctrine Orm,Composite Key,Composite Primary Key,我知道Doctrine 2.0支持复合密钥。但我不太可能找到我要找的东西 我有3个表=>代理、客户和客户组。 代理创建客户端和客户端组。客户端组有一个复合主键=>id,agent\u id。agent\u id来自agent表。虽然我希望id自动递增,但代理id来自代理表。 我正在尝试编写yaml文件,但不确定如何将此代理id指定为客户端组中的主键。客户端组id和代理id是客户端表中的外键。另外,我确实读过条令文档,复合PK不能有自动递增的字段 所以,如果我真的能做到我在这里的目标,我会很高兴
代理创建客户端和客户端组。客户端组有一个复合主键=>id,agent\u id。agent\u id来自agent表。虽然我希望id自动递增,但代理id来自代理表。
我正在尝试编写yaml文件,但不确定如何将此代理id指定为客户端组中的主键。客户端组id和代理id是客户端表中的外键。另外,我确实读过条令文档,复合PK不能有自动递增的字段 所以,如果我真的能做到我在这里的目标,我会很高兴 仅显示关系的yaml如下所示: 代理: 客户群 客户端
在此方面的任何帮助都将不胜感激。谢谢。它就在文档中。我的问题的答案是使用associationKey
如果您转到上面链接上的动态属性,解决方案就在那里。然而,限制是,我希望自动生成复合主键的一个字段,据我所知,该字段不受条令2.1的支持。“我希望自动生成复合主键的一个字段,据我所知,该字段不受条令2.1的支持”,这正是我所希望的。。。这似乎是一件正常的事情。例如,用户有电话号码,键的一部分是用户id,另一部分是自动生成的数字id值。您必须使用UUID我猜:
oneToMany:
client_group:
targetEntity: ClientGroup
mappedBy: agent
client:
targetEntity: Client
mappedBy: agent
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