Cakephp 1.3保存多个模型行,一些具有id,一些没有id

时间:2011-11-10 16:50:01

标签: cakephp cakephp-1.3 save

是否可以同时更新现有数据并保存新数据而无需遍历阵列?我想要更新id的数组和没有id的数组来创建新条目。请参阅下面的示例。谢谢你的帮助。

[Workload] => Array
    (
        [0] => Array
            (
                [phase_count] => 1
                [id] => 17
                [value] => {"phases":[{"rep_range":"20-30","rep_set_count":"1"}]}
                [user_id] => 1
            )

        [4] => Array
            (
                [phase_count] => 1
                [value] => {"phases":[{"rep_range":"20-30","rep_set_count":"1"}]}
                [user_id] => 1
            )
);

然后这个

$this->Workload->saveAll($this->data['Workload']);

编辑======================================

以下是实际保存此数组的代码

   if($this->data){
        array_walk($this->data['Workload'], function (&$value,$index){
            // This will need to be changed once users are setup
            if(empty($value['user_id'])){
                $value['user_id'] = 1;
            }
            $value['value'] = json_encode($value['value']);
        });
        debug($this->data);
        $this->Workload->saveAll($this->data['Workload']);

1 个答案:

答案 0 :(得分:2)

事实上,我在我的一个应用中做到了这一点。如果没有'id',将创建一个表条目。如果指定了'id',则记录将被更新。