2012-02-17 17 views
2

私は教義とYAMLと少し問題があります。ここではDoctrineの複数の1対多の関係を

は私のモデルである:どういうわけか

Keyword: 
    columns: 
    word: { type: string, notnull: true } 
    is_stopword: { type: boolean, default: 0 } 
    has_parents: { type: boolean, default: 0 } 

Relation: 
    columns: 
    child: { type: integer, notnull: true } 
    parent: { type: integer, notnull: true } 
    relations: 
    Keyword: { onDelete: CASCADE, local: [child, parent], foreign: id }  

、私はバインドに教義を取得することはできません両方の関係は、最初の1つだけ(子供)が "キーワード"に接続されます...子供は多くの親と多くの子どもを親として持つことができるので、これを解決するために私が見る唯一の方法です...

答えて

1

親と子供の2つの関係を定義する必要があります。 このlocal: [child, parent]は機能しません。各リレーションに対して、1つのローカルフィールドと1つの外部フィールドを定義する必要があります。

Relation: 
    columns: 
    child: { type: integer, notnull: true } 
    parent: { type: integer, notnull: true } 
    relations: 
    ChildKeyword: { onDelete: CASCADE, local: child, foreign: id } 
    ParentKeyword: { onDelete: CASCADE, local: parent, foreign: id } 
関連する問題