/** * @param Request $request */ public function store(Request $request) { if ($this->validator($request->all())->fails()) { flash()->error('You have missing fields.'); return redirect()->back(); } $training = Training::create($request->all()); if ($training) { if (is_array($request->participants)) { foreach ($request->input('participants') as $participant) { try { if ($participant == 'all') { foreach (Employee::all() as $employee) { TrainingParticipant::create(['training_id' => $training->id, 'employee_id' => $employee->id]); // $training->employees()->attach($employee->id); } break; } elseif (is_object(json_decode($participant))) { $participant = json_decode($participant); foreach (Department::find($participant->id)->users as $user) { TrainingParticipant::create(['training_id' => $training->id, 'employee_id' => $user->employee->id]); // $training->employees()->attach($user->employee->id); } } else { TrainingParticipant::create(['training_id' => $training->id, 'employee_id' => $participant]); // $training->employees()->attach($participant); } } catch (QueryException $ex) { } } } flash()->success('Successfully added the trainings and seminar.'); } else { flash()->error('Oopss! Something went wrong.'); } return redirect()->back(); }