我的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管理面板中,我可以通过包含用户的选择框设置用户。 但是在用户管理面板中,我没有包含电话号码的列表,以允许用户为用户选择多个电话号码。 我怎样才能在这里添加许多关系?
答案 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自动创建它们,您可能需要包含“本地”和“外来”......未经测试。