2017-09-07 15 views
-1

複数の行を一度に更新するだけで済みます。以下のコードのように、一度に複数の行を挿入することができLaravel Eloquentを使用して一度に複数のレコードを更新する必要があります

アム、

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

データは、私はそれは、いくつかのエラーを更新していない、などの更新のために

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

を同じ試みたが、挿入されますメソッドの更新が見つかりません。私もupdate()の代わりにsave()を試しました。

私がチェック

ヌル$auc_det_idは、データは

+0

?単一のモデルを得るために 'get()'の代わりに 'first()'を使いたいかもしれません。 – aynber

+0

@aynberその '$ auc_det_id'は' auc_update'ではありません – Mann

+0

あなたは '$ auc_det_id = tableModel'を持っていますが、あなたは' $ auc_update-> update($ data);を使用します; – aynber

答えて

2

を(エラー)を保存していないされていない場合は、試すことができます:

`auc_update`で来るん
$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); 
+0

私が必要とするように働く。 – Mann

関連する問題