ここでマニュアルを読みましたが:http: //www.doctrine-project.org/documentation/manual/1_2/hu/hierarchical-data ノードをリーフから移動してルートノードにする方法が見つかりませんでした。手がかりはありますか?新しいノードを挿入するための質問は簡単です...しかし、ノードを更新するのはどうですか?
2 に答える
0
Doctrine_Node_NestedSet::makeRoot()を次のように使用します。
$item->getNode()->makeRoot($maxRootValue + 1);
新しい値を渡す必要があります。root_id
これを行う最も簡単な方法の 1 つは、MAX(root_id)
テーブルから選択してその値をインクリメントすることです。
于 2010-04-09T20:34:59.957 に答える
0
Crozinが言ったように、を使用Doctrine_Node_NestedSet::makeRoot()
しますが、の最大値を計算する代わりにアイテムのIDを使用しますroot_id
。
root_id はルート ノードの ID です。
$item->getNode()->makeRoot($item->id);
の値を計算する必要はありませんroot_id
。アイテムの ID を使用しても競合は発生せず、Doctrine がこれを内部的に処理する方法です。
于 2012-07-28T17:24:06.747 に答える