public static function createOrUpdate($id = null, $request) { $model = is_null($id) ? new User() : User::findOrFail($id); $model->name = $request->input('name'); $model->email = $request->input('email'); if (!$id || $id && $request->input('password')) { $model->password = $request->input('password'); } $model->detachAllRoles(); $model->attachRole($request->input('roles')); return $model->save() ? $model : false; }