1

zf2 プロジェクトでは、ツリードクトリン拡張を多用しています- いくつかの大きなツリー データ構造を使用しています。ネストされたセットでの挿入と更新はコストがかかることがわかっています。また、ツリー プラグインは「ルート」列を使用して、更新するツリーを特定することもわかっています。

昨日、ツリーのドキュメントをもう一度読んだところ、「ネストされたセットでの複数のルートのサポート」が見つかりました。この機能に関するドキュメントは見つかりませんでした。

大きなツリーの下部ブランチの 2 番目のルート項目を定義して、この下部ブランチへの挿入と更新がツリー全体ではなく、このブランチのみに影響するようにすることができれば幸いです。出来ますか?

4

1 に答える 1

1

はい、可能です。ツリー ルート ブランチはレベル 0 ノードで区切られます。TreeRoot 列のマッピングの例を参照してください。treeRoot 列をマップするすべてのマッピング タイプの例が必要です。列は ID と同じ型でなければなりません。現在は ManyToOne 関係をサポートしていませんが、いつかサポートする計画があります。

root1
    child
root2
    child
        child2

root2 または root1 ブランチの子を更新または挿入すると、その特定のブランチのみに影響します。また、tree はまだ並行して安全ではないことに注意してください。自分でロックを管理する必要があります。こちらのドキュメント リファレンスを参照してください。

docディレクトリには、ここに記載されている情報のほとんどが含まれています。

于 2015-08-11T10:18:07.107 に答える