首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >原则复合主键

原则复合主键
EN

Stack Overflow用户
提问于 2013-01-09 20:14:58
回答 1查看 16.9K关注 0票数 3

我知道Doctrine2.0支持复合键。但我找不到我要找的东西。

我有三个桌子=>代理,客户端和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只显示了两国关系,如下所示:

代理:

代码语言:javascript
复制
  oneToMany:
    client_group:
      targetEntity: ClientGroup
      mappedBy: agent
    client:
      targetEntity: Client
      mappedBy: agent

client_group

代码语言:javascript
复制
  manyToOne:
    agent_id:
      targetEntity: Agent
      inversedBy: client_group
      joinColumn:
        name: agent_id
        referencedColumnName: id

  oneToMany:
    client:
      targetEntity: Client
      mappedBy: client_group

客户端

代码语言:javascript
复制
  manyToOne:
    client:
      targetEntity: ClientGroup
      inversedBy: client
      joinColumn:
        name: client_group_id
        referencedColumnName: id
    agent:
      targetEntity: Agent
      inversedBy: agents
      joinColumn:
        name: agent_id
        referencedColumnName: id

在这方面的任何帮助都将被接受。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-10 17:32:34

就在文件里。我的问题的答案是通过使用associationKey。

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

如果您深入到上面链接上的动态属性,解决方案就在这里。但是,限制是,我希望自动生成复合主键的一个字段,据我所知,Doctrine2.1不支持这个字段。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14245665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档