0

ここでマニュアルを読みましたが:http: //www.doctrine-project.org/documentation/manual/1_2/hu/hierarchical-data ノードをリーフから移動してルートノードにする方法が見つかりませんでした。手がかりはありますか?新しいノードを挿入するための質問は簡単です...しかし、ノードを更新するのはどうですか?

4

2 に答える 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 に答える