Cakephp 树行为:多维关联数组到树
我刚刚开始学习CakePHP3树的行为。我有一种情况,我有一个现有的树,我想重新排序的基础上数组。我这样试过:Cakephp 树行为:多维关联数组到树,cakephp,tree,cakephp-3.0,saving-data,Cakephp,Tree,Cakephp 3.0,Saving Data,我刚刚开始学习CakePHP3树的行为。我有一种情况,我有一个现有的树,我想重新排序的基础上数组。我这样试过: $data = [ [ 'id' => 1, 'parent_id' => null, 'children' => [ [ 'id' =>
$data = [
[
'id' => 1,
'parent_id' => null,
'children' => [
[
'id' => 3,
'children' => [
'id' => 4,
'children' => [
'id' => 5
]
]
]
]
],
[
'id' => 2,
'parent_id' => false
],
];
$minutesTable->patchEntities($minutes, $data);
$minutesTable->saveMany($minutes);
…希望children字段可以工作,但不幸的是没有。上面的尝试没有返回错误,但是children字段被忽略
是否有一种内在的方法来实现这一点?优雅的替代品是什么
只需补充一点:在我的应用程序中,更改单个父id是有效的。我要寻找的是使用引用数组完全重构树。我认为您应该在cakephp中找到关联。 链接: 例如,您有一个家长和多个孩子,而孩子有多个孩子。 因此,父项将成为平均数据。这些表之间必须有关系。 我将覆盖您的数组作为示例:
$data = array:2 [
0 => array:2 [
"parent_id" => "1"
"name" => "Mr. A"
"childrens" => array:2 [
0 => array:2 [
"id" => "32"
"parent_id" => "1"
"name" => "Mr. A SON"
"grand_childrens" => array:1 [
0 => array:0 [
"id" => "4"
"grand_children_id" => "32"
"name" => "Mr. A GRAND SON"
]
]
],
1 => array:0 [
"id" => "2"
"parent_id" => "1"
"name" => "Mr. A Daughter"
]
]
],
1 => array:2 [
"parent_id" => "2"
"name" => "Mr. B"
"childrens" => array:2 [
0 => array:2 [
"id" => "5"
"parent_id" => "2"
"name" => "Mr. B SON"
"grand_childrens" => array:1 [
0 => array:0 [
"id" => "7"
"grand_children_id" => "5"
"name" => "Mr. B GRAND SON"
]
]
],
1 => array:0 [
"id" => "4"
"parent_id" => "2"
"name" => "Mr. B Daughter"
]
]
]
]
这并不能回答问题。你说的是关联,但那是在不同的模型之间。这个问题涉及一棵树,它位于一个模型中。@Roberto我试图向他们解释这个问题,我认为他提供了错误的关联结构。这个例子可能是帮助他们的关键。你想通过使用引用数组来解决什么问题?没有这样的内置功能,你必须自己想办法。考虑到更新嵌套集的工作方式,执行多次移动/保存/删除可能是不可避免的。我想保存JQuery嵌套可排序列表的状态。我认为最简单的方法是将嵌套列表转换成数组,然后从那里开始。但如果不可能,我可以使用单独的操作。