不幸的是,我再次使用CakePHP 3时遇到了问题。
我有一个名为 Element 的实体,它实现了TreeBehavior,因此包含 parent_id , lft 和 rght field。
我现在想要做的非常失败,就是从任何元素中获取一个子树作为父元素,并使用dereuromark中的TreeHelper显示它。
如果我使用通常的方式检索线索数据$this->Elements->find('threaded')
,那么<?= $this->Tree->generate($a, ['model' => 'Element']); ?>
就能完美运行并显示我所有元素的漂亮树。
现在,我尝试通过id 43 从一个元素中获取孩子
$this->Elements->find('children', ['for' => 43])->find('threaded')
,正如Red Velvet Cookbook中建议的那样,但是调试只是给了我一个空数组,显然Tree->generate
也不起作用。此外,这只会给我一个孩子的数组,而不是元素 id 43 加上它的嵌套子,对吗?我认为这不是Tree->generate
所需要的,但我不明白为什么上面的代码不起作用。
我也尝试使用 Hash ,但也无法使用TreeHelper成功。
是否有任何简单的方法来获取我需要的数据并很好地显示它?我会很高兴任何有用的答案。谢谢!