0

私は Yiiext "nested-set-behavior" による素晴らしい拡張機能を使用しています:
https://github.com/yiiext/nested-set-behavior

複数のルートを持つネストされたセットを実行しているときに、ルート ノードを (上または下に) 移動する方法を誰かが教えてくれるかどうか知りたいです。

ツリーの例:

  1. 電話 (ルート ノード)
    1.1 モバイル
    1.2 固定
  2. 車 (ルートノード)
    2.1 速い
    2.2 遅い
    2.3 平均
  3. 平面 (ルート ノード)
    3.1 大
    3.2 小

完全なツリーを引き出してこれをユーザーに表示すると、上記の結果が得られます。

「電話」の前に「車」を動かせるようにしたいです。

これを行う方法はありますか?

私が試してみました:

    $cars        = Category::model()->findByPk($cars_id);
    $phones      = $cars->prev()->find();
    $cars->moveBefore($phones);

これにより、ネストされた set 動作クラスの moveAfter メソッドでエラーが発生します。

前にこれをやった人はいますか?

ありがとう

デイブ

4

2 に答える 2

0

私が理解しているように、ルートである 3 つのノードがあります。問題は、メソッド moveAfter() および moveBefore() をメイン ルートに適用できないことです。ノードを相対的に別のノードに移動しようとしていますが、それらは異なるツリーにあります。 車と電話が共通のルーツを持っていれば成功です。

言い換えれば、お互いについて何も知らない異なるツリーのノードで操作します。

于 2013-10-21T11:44:48.900 に答える