代码之家  ›  专栏  ›  技术社区  ›  Surjit Sidhu

TreeBehavior如何在cakephp 3中工作

  •  0
  • Surjit Sidhu  · 技术社区  · 9 年前

    我在关注这个 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) 我有空桌子

    请指导我如何开始使用root和向其中添加子节点

    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;
    
    1 回复  |  直到 9 年前
        1
  •  3
  •   Matt Stephens    9 年前

    树行为背后的思想是将分层数据保存到数据库中。

    如果您没有数据,那么 $categoriesTable->get(10); 将失败,因为没有id为10的条目。

    添加一个id为10的DB条目,它就可以工作了。

    所有蛋糕教程都假设您有一些正在使用的数据。