使用CakePHP中的TreeBehavior从文本中保存新树

jxct1oxe  于 2022-11-11  发布在  PHP
关注(0)|答案(1)|浏览(169)

使用CakePHP 3.9中的TreeBehavior,你可以轻松地创建一个格式化列表:

$list = $categories->find('treeList');

我的类别
乐趣(_F)
__运动
___冲浪
___滑冰
行程(_T)
__国内
国际
我让我的用户修改了一个树列表(就像上面的例子),我想把结果保存为新的树。
是否有一个内置的功能来创建一个新的树与现有的数据,无论是格式化的文本或级联实体?
对我来说,另一种选择是处理列表并逐个保存实体,然后让TreeBehavior处理lftrght列。

0h4hbjxa

0h4hbjxa1#

没有这样的内置功能,没有,你必须自己处理。
您有两个选择,一个接一个地保存节点,并让行为在每次保存时更新lft/rght字段,或者在保存时禁用行为,并在之后恢复树,如果您有多个树,可能使用范围。
在任何情况下,您都需要在保存时相应地填充记录的parent_id字段,如果没有该字段,树行为将无法生成正确的lft/rght字段值。

相关问题