简体   繁体   中英

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() .

I checked if null $auc_det_id then data is not saving(no error)

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);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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