Symfony + doctrine +一对多的关系

时间:2010-03-02 20:04:35

标签: php database-design symfony1 doctrine yaml

我的sf 1.4 + doctrine 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

然后,我重建我的架构,并为User和Phonenumber生成后端模块。

在Phonenumber管理面板中,我可以通过包含用户的选择框设置用户。 但是在用户管理面板中,我没有包含电话号码的列表,以允许用户为用户选择多个电话号码。 我怎样才能在这里添加许多关系?

1 个答案:

答案 0 :(得分:4)

我更喜欢这样做,因为你的用户很可能会有很多关系,而不是phonenumbers,所以这一切都在一个地方......

用户

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自动创建它们,您可能需要包含“本地”和“外来”......未经测试。