gpt4 book ai didi

CakePHP 树行为,每个表多棵树

转载 作者:行者123 更新时间:2023-12-02 10:44:17 25 4
gpt4 key购买 nike

我遇到了一个相当复杂的问题,我需要树行为来帮助。

我有一个名为nodes的表,该表已经有一棵树,并且该树用于构建菜单。

现在我们希望能够创建多个菜单,因此我制作了 node_menusmenus 表。所以 Nodes hasAndBelongsToMany Menus

但是有一个小问题,菜单是构建的,但使用 $this->Node->find('threaded') 因此子菜单是可能的。所有节点都可以在多个菜单中使用,并且所有菜单都需要一棵树,以便可以对节点进行排序并创建子菜单。

为此,我正在考虑创建一个包含每个菜单的树的表,并将一个节点链接到树表中的每一行。

所以基本上我需要一个带有 Trees ownTo Nodes 关系的 trees 表。在这棵树中,我有字段 menu_idnode_idparent_idlftrght.

现在的问题是,一张表中是否可以存在多棵树?比如说,我想要 menu_id 为 15 的树。是否可以使用 find('threaded') 与所述 ID 来返回所有数据和相关节点到 node_id 的。包括创建和操作树的所有其他核心功能。

这可能吗?如果没有,是否有人有更好的解决方案来制作多个菜单,其中节点可以放置在可以排序和线程化的多个菜单中?

最佳答案

像下面这样思考,然后你就可以用一棵树来完成。

root[hidden node]
---- Menu 1
-------- Item 1.1
-------- Item 1.2
-------- Item 1.3
---- Menu 2
-------- Sub Menu 2.1
------------ Item 2.1.1
-------- Item 2.1
---- Menu 3
---- Menu 4
---- Menu 5

我为 CakePHP 制作了一个菜单构建器插件,如果你愿意,你可以使用它:) https://github.com/torifat/cake-menu_builder

关于CakePHP 树行为,每个表多棵树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7678128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com