如何在cakephp中保存不同的数组数据

How to save different array data in cakephp

我的数组与普通的 cakephp 数组不同。 现在我想使用 foreach 循环保存这个数据数组。

[Data] => Array
        (
            [type_id] => Array
                (
                    [0] => 4
                    [1] => 5
                    [2] => 4
                    [3] => 3
                )

            [data_id] => Array
                (
                    [0] => 1
                    [1] => 3
                    [2] => 2
                    [3] => 1
                )

            [price] => Array
                (
                    [0] => 12
                    [1] => 213
                    [2] => 212
                    [3] => 23343
                )

            [amount] => Array
                (
                    [0] => 121
                    [1] => 342
                    [2] => 45454
                    [3] => 3243
                )

        )

我只想循环foreach。

我不知道到目前为止您尝试过哪种方法。

但是 $this->Model->saveMany($arrayVariable) 应该可以保存您的数据。

您想先重构数组,然后使用saveMany()保存重构的数组:-

$data = array();
foreach ($array['ProductCharge'] as $col => $value) {
    foreach ($value as $key => $val) {
        $data[$key]['ProductCharge'][$col] = $val;
    }
}

$this->ProductCharge->saveMany($data);

使用 saveMany() 比在 foreach 循环中保存每条记录更好。

可能有一种 Hash 方法可以在不需要 foreach 循环的情况下重构数据,但想不出哪种方法可以按预期工作。