0

Symfony-CMF の doctrine で PHPCR を学び始めましたが、質問があります。同じドキュメントの 2 つの異なる属性に @Children と @Child を持つことは可能ですか?

ドクターによると…

注釈付きインスタンス変数には、ドキュメント階層内のインスタンス変数ドキュメント クラスのすぐ下にあるドキュメントが入力されます。

ドキュメントごとに @Children または @Child を 1 つだけ指定する必要があると思います。しかし、同じ属性に異なるドキュメントがある場合、フォームを管理する方法は? これの使用法は私には明らかではありません。@Children と @ReferenceOne / @ReferenceMany を持つ属性を 1 つ選択する必要がありますか?

4

1 に答える 1

1

PHPCR はツリーであり、すべてのノードはその親の下にあります。親の場合、それは子ノードです。@Child を使用する場合、特定の 1 つの子にフィールドを指定します。@Children を使用して、すべての子ドキュメントをマップし、このマッピングを持つメンバー変数にコレクションが含まれます。妥協点があることに注意してください: @Children を子の命名パターンでフィルタリングするように指定できます。

実際、@Child と @Children で同じ子になる可能性があります。フィルター処理されていない子コレクションの編集をインライン化するのではなく、そのリンクを作成することをお勧めします。フィルタリングされた子コレクションと別の子があれば、うまくいくでしょう。

参照は、ツリー階層に従っていない相互リンクです。親子関係よりも効率的ではありません。これらは二次的な関係にのみ使用する必要がありますが、主要なコンテンツをツリーで構造化したままにしてください。

于 2015-02-16T07:31:20.553 に答える