1

我无法更新多条记录。它对我不起作用,并且在 CakePHP 文档中没有关于更新的内容,只是提供了多个高位寄存器,但没有更新现有字段。

我的示例错误,不更新;-(

$ids = [101,123];

$data_update = [
  [
   'id'=>101,
   'licensees_id'=>'10',
  ],
  [
   'id'=>123,
   'licensees_id'=>'10',
  ],
];

// Get all users
    $usersEntity = $this->Users->find('all',[
           'fields'=>[
               'id',
               'licensees_id',
           ],
            'conditions'=>[
                'id IN'=>$ids
            ]
        ]);
        $usersEntity = $this->Users->patchEntity($usersEntity, $data_update); //<= Error parant
//        exit(debug($usersEntity));
        $result = $this->Users->saveMany($usersEntity);
4

1 回答 1

1

将我在 CakePHP 3 中的问题解决到 saveMany()中,

->patchEntity()是一行“实体”更新,用于 save()

->patchEntities()是 saveMany() 的多行“实体”更新

;-)

// Change Line
$usersEntity = $this->Users->patchEntity($usersEntity, $data_update);
// For
$usersEntity = $this->Users->patchEntities($usersEntity, $users_data);
于 2017-01-16T05:23:44.433 回答