在 yii2 中只有 batchInsert 可用,在 yii2bacthUpdate
中不可用,我们如何像 Codeigniter 一样在 yii2 中做到这一点batchUpdate
?
问问题
14056 次
5 回答
5
于 2018-03-17T13:52:44.803 回答
4
请试试这个
Yii::$app->db->createCommand()
->update(self::tableName(),
[ 'field1'=>$value1 ], //columns and values
[ 'field2'=>$value2, 'field3'=>$value3 ]) //condition, similar to where()
->execute();
于 2016-10-18T15:27:36.690 回答
0
我们可以用与 batchInsert 相同的方式来做,只用更新替换它我举个例子:
//table columns
$colums = ['reportCode','idActivity','requirement','direction','area'];
//where $_POST['data'] are data to be actulate received from the view
$arrayInserts2 = array();
foreach ($_POST['data'] as $key => $value) {
$arrayInserts2[] = [ 'reportCode'=>$code,
'idActivity'=> $key,
'requirement' => $value,
'direction' => $_POST['direction'][$key],
'area' => ''
];
}
//runs the update of multiple records
$updateRecord = Yii::$app->db->createCommand()->update('table_name', $colums, $arrayInserts2)->execute();
通过这种方式,我们可以在一次操作中更新多条记录。
于 2021-12-09T17:58:09.753 回答
0
foreach ($arr_data as $data) { $update_membership[] = Yii::$app->db->createCommand() ->update( table_name
, [
field_name
=> value, ], [
id
=> $data[ id
], ])- >执行();}
于 2022-01-02T10:15:34.263 回答