public function saveAs(Request $request) { $user = Auth::user(); $criteria = array('report_date_id' => $request->report_date_id_target, 'institution_id' => $user->institution->id); $target_report_id_exist = NewEnrollee::where($criteria)->get(); if (count($target_report_id_exist) > 0) { // send a flash message $request->session()->flash('alert-danger', 'Save-as report operation failed. Target report already exists.'); return redirect('trainees-new-enrollees'); } // retrieve all records as collection $records = NewEnrollee::select('report_date_id', 'institution_id', 'occupation_id', 'regular_level1_male', 'regular_level1_female', 'regular_level2_male', 'regular_level2_female', 'regular_level3_male', 'regular_level3_female', 'regular_level4_male', 'regular_level4_female', 'regular_level5_male', 'regular_level5_female', 'extension_level1_male', 'extension_level1_female', 'extension_level2_male', 'extension_level2_female', 'extension_level3_male', 'extension_level3_female', 'extension_level4_male', 'extension_level4_female', 'extension_level5_male', 'extension_level5_female')->where('report_date_id', $request->report_date_id_source)->get(); if (count($records) > 0) { // update report date id to target report date id foreach ($records as $rec) { $rec->report_date_id = $request->report_date_id_target; } // insert into the table NewEnrollee::insert($records->toArray()); // send a flash message $request->session()->flash('alert-success', 'Save as operation was successful!'); } else { // send a flash message $request->session()->flash('alert-danger', 'Save as operation failed! No records found.'); } return redirect('trainees-new-enrollees'); }