主义复合主键

sof*_*tie 3 composite-key composite-primary-key doctrine-orm

我知道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
Run Code Online (Sandbox Code Playgroud)

client_group

  manyToOne:
    agent_id:
      targetEntity: Agent
      inversedBy: client_group
      joinColumn:
        name: agent_id
        referencedColumnName: id

  oneToMany:
    client:
      targetEntity: Client
      mappedBy: client_group
Run Code Online (Sandbox Code Playgroud)

客户

  manyToOne:
    client:
      targetEntity: ClientGroup
      inversedBy: client
      joinColumn:
        name: client_group_id
        referencedColumnName: id
    agent:
      targetEntity: Agent
      inversedBy: agents
      joinColumn:
        name: agent_id
        referencedColumnName: id
Run Code Online (Sandbox Code Playgroud)

任何有关这方面的帮助都会受到重视.谢谢.

sof*_*tie 9

它就在文档中.我的问题的答案是使用associationKey.

http://doctrine-orm.readthedocs.org/en/stable/tutorials/composite-primary-keys.html

如果你在上面的链接上找到动态属性,解决方案就在那里.然而,限制是,我希望自动生成复合主键的一个字段,我理解不受Doctrine 2.1支持.