简体   繁体   English

需要使用Laravel Eloquent一次更新多个记录

[英]Need to update multiple records at once using Laravel Eloquent

I just need to update multiple rows at time. 我只需要一次更新多行。

Am able to insert multiple rows at a time, like the code below, 能够一次插入多行,例如下面的代码,

foreach ($request->something as $key => $value) {
    $data=array(
        'db_table_field0'=> $request->form_something[$key],
        'db_table_field1'=>$request->form_something2[$key],
        'db_table_field2'=>$request->form_something3[$key],
        'db_table_field3'=>$request->form_something4[$key],
        );
        tableModel::insert($data);
 }

data is inserting, I tried same for update like, 数据正在插入,我尝试同样的更新,

foreach ($request->something as $key => $value) {
    $auc_det_id = tableModel::where('value', $request->value[$key])->get();

    $data=array(
        'db_table_field0'=> $request->form_something[$key],
        'db_table_field1'=>$request->form_something2[$key],
        'db_table_field2'=>$request->form_something3[$key],
        'db_table_field3'=>$request->form_something4[$key],
        );
        $auc_det_id->update($data);
 }

It's not updating, some error like method update not found. 它没有更新,找不到方法更新之类的错误。 I also tried save() instead of update() . 我也尝试过save()而不是update()

I checked if null $auc_det_id then data is not saving(no error) 我检查是否为空$auc_det_id然后数据没有保存(无错误)

You can try: 你可以试试:

$data=array(
    'db_table_field0'=> $request->form_something[$key],
    'db_table_field1'=>$request->form_something2[$key],
    'db_table_field2'=>$request->form_something3[$key],
    'db_table_field3'=>$request->form_something4[$key],
);

tableModel::where('value', $request->value[$key])->update($data);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM