public function post_add_role(Request $request, User $user, Role $role, Role_user $role_user, Admin $admin) { $validation_rules = $admin->getValidationRulesAddRole(); $validation_messages = $admin->getValidationMessagesEditUser(); $this->validate($request, $validation_rules, $validation_messages); $arr_request = $admin->getRequestArrayAddRole($request); // check for identical rows already in role_user $arr_role_user = DB::table('role_user')->where('user_id', '=', $arr_request['user_id'])->where('role_id', '=', $arr_request['role_id'])->get(); if (empty($arr_role_user)) { $bool_role_user_exists = 0; $role_user->add_role($arr_request['user_id'], $arr_request['role_id']); } else { $bool_role_user_exists = 1; } //prepare text for output $user = $user->find($arr_request['user_id']); $arr_request['first_name'] = $user->first_name; $arr_request['last_name'] = $user->last_name; $role = $role->find($arr_request['role_id']); $arr_request['role'] = $role->name; $data = $admin->getDataArray($arr_request, 0, $this->arr_logged_in_user); if ($bool_role_user_exists) { return view('admin/add_role_results_failure_admin')->with('data', $data); } else { return view('admin/add_role_results_admin')->with('data', $data); } }