Kla*_*lav 2 php laravel eloquent laravel-5.5
我正在使用 updateOrCreate 更新多行。这可能会变得很难看。有没有一种聪明的方法来简化这个过程,或者该方法是否提供了保存多行的方法?
RequestData::updateOrCreate(['r_id' => $rid, 'meta_key' => 'q1'], ['meta_value' => Input::get('q1')]);
RequestData::updateOrCreate(['r_id' => $rid, 'meta_key' => 'q2'], ['meta_value' => Input::get('q2')]);
RequestData::updateOrCreate(['r_id' => $rid, 'meta_key' => 'q3'], ['meta_value' => Input::get('q3')]);
RequestData::updateOrCreate(['r_id' => $rid, 'meta_key' => 'q4'], ['meta_value' => Input::get('q4')]);
RequestData::updateOrCreate(['r_id' => $rid, 'meta_key' => 'q5'], ['meta_value' => Input::get('q5')]);
Run Code Online (Sandbox Code Playgroud)
您始终可以将其包装在 for 循环中。将整个事情包装在事务中也可以加快速度。
\DB::transaction(function() use ($rid) {
for($i = 1; $i <= 5; $i++) {
RequestData::updateOrCreate(['r_id' => $rid, 'meta_key' => "q$i"], ['meta_value' => Input::get("q$i")]);
}
});
Run Code Online (Sandbox Code Playgroud)