【问题标题】:Symfony + doctrine + one-to-many relationshipsSymfony + 教义 + 一对多关系
【发布时间】:2011-01-22 21:47:19
【问题描述】:

我的 sf 1.4 + 学说 1.2 项目需要一对多的关系。 我复制了这样的关系:

User:
  columns:
    id:
      type: integer(4)
      primary: true
      autoincrement: true
    contact_id:
      type: integer(4)
    username:
      type: string(255)
    password:
      type: string(255)

Phonenumber:
  columns:
    id:
      type: integer(4)
      primary: true
      autoincrement: true
    name:
      type: string(255)
    user_id:
      type: integer(4)
  relations:
    User:
      foreignAlias: Phonenumbers

然后,我重建我的架构,并为用户和电话号码生成后端模块。

在电话号码管理面板中,我可以通过带有用户的选择框来设置用户。 但是在用户管理面板中,我没有包含电话号码的列表,以允许用户为用户选择多个电话号码。 如何在此处添加 many 关系?

【问题讨论】:

    标签: php database-design symfony1 doctrine yaml


    【解决方案1】:

    我更喜欢这样做,因为您的用户可能会有很多关系而不是电话号码,所以这将所有这些都放在一个地方......

    在您的用户中:

    relations:
       Phonenumber:
         class: Phonenumber  // model name for relation
         local: id           // key in this table
         foreign: id         // key in the referenced table
         type: many          // User has MANY phonenumbers
         foreignType: one    // Phonenumber has ONE user
         alias: Phonenumber  // What a user calls Phonenumber
         foreignAlias: User  // What a Phonenumber calls User
    

    鉴于您为两个表声明“id”而不是允许 Doctrine 自动创建它们,您可能需要包括“本地”和“外国”...尚未测试。

    【讨论】:

    • 我认为外国参考需要是 'user_id' 但你已经知道了 +1
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-29
    • 2014-01-21
    相关资源
    最近更新 更多