0

このhttp://book.cakephp.org/3.0/en/orm/behaviors/tree.htmlに従って 、単純なカテゴリ ツリーを作成しています。

「parent_id」列を null に設定することで、ノードをツリーのルートにすることができます。

$aCategory = $categoriesTable->get(10);
$aCategory->parent_id = null;
$categoriesTable->save($aCategory);

これは新しいルートノードを追加するために機能しません (なぜそこに 10 があるのか​​わかりませんでした) 私は空のテーブルを持っています

ルートを開始し、それに子ノードを追加する方法を教えてください

CREATE TABLE IF NOT EXISTS `categories` (
  `id` int(11) NOT NULL,
  `parent_id` int(11) DEFAULT NULL,
  `category_slug` varchar(250) DEFAULT NULL,
  `category_name` varchar(250) DEFAULT NULL,
  `lft` int(11) DEFAULT NULL,
  `rght` int(11) DEFAULT NULL
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
4

1 に答える 1

3

Tree Behavior の背後にある考え方は、階層データを DB に保存することです。

$categoriesTable->get(10);ID 10 のエントリがないため、データがない場合は失敗します。

ID 10 の DB エントリを追加すると、機能します。

すべての Cake チュートリアルでは、作業対象のデータがあることを前提としています。

于 2015-08-11T11:04:21.593 に答える