public function update(UserFormRequest $request, $id) { $user = User::findOrFail($id); $user->load(['profile', 'profile.extendedProfile']); $user->username = $request->input('username'); $user->status = $request->input('status'); $user->email = $request->input('email'); if ($request->input('remove_profile_picture') == 1) { $user->profile->removeProfilePicture(); } if ($request->hasFile('profile.profile_picture') && $request->file('profile.profile_picture')->isValid()) { $user->profile->profile_picture = $user->profile->saveProfilePicture($request->file('profile.profile_picture')); } if ($request->has('password')) { $user->password = bcrypt($request->input('password')); } $user->profile->fill($request->input('profile')); $user->profile->extendedProfile->fill($request->input('profile.extendedProfile')); $user->push(); $subscriptions = []; foreach ($request->input('subscriptions', []) as $subscriptionSlug) { $subscriptions[] = Subscription::findBySlug($subscriptionSlug)->id; } $user->subscriptions()->sync($subscriptions); return redirect($request->get('backUrl', route('admin.member.index')))->with('messages', [$user->getName() . ' has been updated.']); }
protected function create(array $data) { $user = new User($data); $user->password = bcrypt($data['password']); $user->save(); $profile = new Profile($data['profile']); $profile->user()->associate($user); if (!empty($data['profile']['profile_picture']) && $data['profile']['profile_picture']->isValid()) { $profile->profile_picture = $profile->saveProfilePicture($data['profile']['profile_picture']); } $profile->save(); $extendedProfile = new ExtendedProfile($data['profile']['extendedProfile']); $profile->extendedProfile()->save($extendedProfile); if (isset($data['subscriptions'])) { $subscriptions = []; foreach ($data['subscriptions'] as $subscriptionSlug) { $subscriptions[] = Subscription::findBySlug($subscriptionSlug)->id; } $user->subscriptions()->sync($subscriptions); } return $user; }
protected function update(array $data) { $user = Auth::user(); if (!empty($data['password'])) { $user->password = bcrypt($data['password']); } $user->email = $data['email']; $user->save(); $user->profile->fill($data['profile']); if (!empty($data['profile']['profile_picture']) && $data['profile']['profile_picture']->isValid()) { $user->profile->profile_picture = $user->profile->saveProfilePicture($data['profile']['profile_picture']); } $user->profile->save(); $user->profile->extendedProfile->fill($data['profile']['extendedProfile']); $user->profile->extendedProfile->save(); $subscriptions = []; foreach ($data['subscriptions'] as $subscriptionSlug) { $subscriptions[] = Subscription::findBySlug($subscriptionSlug)->id; } $user->subscriptions()->sync($subscriptions); return $user; }