2011-02-07 130 views
2

我有所謂的「對象」,這裏的實體是YAML代碼:Doctrine2一對多關係YAML

Entities\Object: 
    type: entity 
    table: objects 
    id: 
    id: 
     type: integer 
     generator: 
     strategy: AUTO 
    fields: 
    parent_id: 
     type : integer 
    oneToOne: 
    type: 
     targetEntity: ObjectType 
     joinColumn: 
     name: type_id 
     referencedColumnName: id 

我想補充一個孩子父母的關係(一對多),但我不知道怎麼樣?我希望mysql表具有以下結構:id,type_id,parent_id和具有這些選項的實體$ object-> getParent()(單個對象)和$ object-> getChildren()(對象集合)。 希望有人能幫助,日Thnx

+0

所以你需要一個自我引用的關係,比如電子商務網站中的一個類別可以有一個父類別和多個子類別? – Cobby 2011-02-07 11:21:43

+1

國際海事組織,你不應該太想它如何在數據庫中看起來......只是讓學說做它的事情! – Cobby 2011-02-07 11:22:43

回答

4

你正在試圖做一個一對多的,自我參照,它應該是這樣的:

Entities\Objects: 
    type: entity 
    table: objects 
    id: 
    id: 
     type: integer 
     generator: 
     strategy: AUTO 
    oneToMany: 
    children: 
     targetEntity: Objects 
     mappedBy: parent 
    manyToOne: 
    parent: 
     targetEntity: Objects 
     inversedBy: children 
     joinColumn: 
     name: parent_id 
     referencedColumnName: id 

看看手動Association Mapping