Cakephp 树行为:多维关联数组到树

Cakephp 树行为:多维关联数组到树,cakephp,tree,cakephp-3.0,saving-data,Cakephp,Tree,Cakephp 3.0,Saving Data,我刚刚开始学习CakePHP3树的行为。我有一种情况,我有一个现有的树,我想重新排序的基础上数组。我这样试过: $data = [ [ 'id' => 1, 'parent_id' => null, 'children' => [ [ 'id' =>

我刚刚开始学习CakePHP3树的行为。我有一种情况,我有一个现有的树,我想重新排序的基础上数组。我这样试过:

        $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嵌套可排序列表的状态。我认为最简单的方法是将嵌套列表转换成数组,然后从那里开始。但如果不可能,我可以使用单独的操作。