我有下面的数组(这个数组中有50个元素。所以下面的mysql查询会触发50次。)要在数据库中更新
$array = [['id'=>1,'result'=>'21.25'],['id'=>2,'result'=>'13.03']]// ... up to 50 elements in this array. so below mysql query fires 50 times.
我正在这样做。
foreach ($array as $key => $value) {
$postArray = ['result' => $value['result']];
DB::table('table')->where('id',$value['id'])->update($postArray);
}
问题:是否可以在一个查询中合并所有内容?
我试过这样但没有工作,
giving error `"errormsg":"Database error!! preg_replace(): Parameter mismatch, pattern is a string
而替换是一个数组“`
foreach ($array as $key => $value) {
$postArray[] = [
'id' => $value['id'],
'result' => $value['result']
];
}
DB::table('table')->update($postArray);