使用CakePHP 3.9中的TreeBehavior,你可以轻松地创建一个格式化列表:
$list = $categories->find('treeList');
我的类别
乐趣(_F)
__运动
___冲浪
___滑冰
行程(_T)
__国内
国际
我让我的用户修改了一个树列表(就像上面的例子),我想把结果保存为新的树。
是否有一个内置的功能来创建一个新的树与现有的数据,无论是格式化的文本或级联实体?
对我来说,另一种选择是处理列表并逐个保存实体,然后让TreeBehavior处理lft
和rght
列。
1条答案
按热度按时间0h4hbjxa1#
没有这样的内置功能,没有,你必须自己处理。
您有两个选择,一个接一个地保存节点,并让行为在每次保存时更新
lft
/rght
字段,或者在保存时禁用行为,并在之后恢复树,如果您有多个树,可能使用范围。在任何情况下,您都需要在保存时相应地填充记录的
parent_id
字段,如果没有该字段,树行为将无法生成正确的lft
/rght
字段值。