2010-03-02 159 views
1

我需要一個一對多的關係爲我的1.4 +學說1.2條款項目。 我複製就像這樣的關係:Symfony +學說+一對多關係

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 

然後,我重建我的架構,併爲用戶和PhoneNumber後端模塊。

在電話號碼管理員面板中,我可以通過用戶的選擇框來設置用戶。 但是在用戶管理面板中,我沒有一個包含電話號碼的列表來允許用戶爲用戶選擇多個電話號碼。 如何在這裏添加許多關係?

回答

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自動創建它們,您可能需要包括「本地」和「外部」......未經測試。

+0

我認爲國外參考文獻需要'user_id',但你已經知道了+1 @ – nortron 2010-03-03 22:07:52

+0

@Cryo ......的確,感謝您的糾正。 – Tom 2010-03-03 22:38:34