Если я понимаю вышеупомянутую проблему в настоящее время, вы можете достичь этого с помощью функции saveMany в cakePHP. Все, что вам нужно сделать, это преобразовать данные, которые вы хотите сохранить, в форму массива и передать этот единственный массив в функцию saveMany.
Подробнее см. Здесь
Вот пример кода для вышеуказанных деталей в cakePHP 3:
$saveData = [
[
'order_id' => 1,
'data' => $json1
],
[
'order_id' => 2,
'data' => $json2
],
[
'order_id' => 3,
'data' => $json3
],
[
'order_id' => 4,
'data' => $json4
],
[
'order_id' => 5,
'data' => $json5
]
];
$orderDetails = TableRegistry::get('Orderdetails');
$entities = $orderDetails->newEntities($saveData);
$result = $orderDetails->saveMany($entities);
Для тортаPHP 2.x:
Подробнее см. Здесь
Надеюсь, это то, что вы ищете.
Редактировать: основываясь на обновленных требованиях, я думаю, что единственный способ добиться этого - сделать пользовательский запрос с помощью метода Model-> query. Вам нужно будет сформировать пользовательский запрос для обновления всех записей за один раз.