/** * Returns an array of Local Clubs * * @return array */ public static function getUserClubs() { $clubs = []; foreach (Club::all() as $club) { $clubs[$club->id] = $club->name; } return $clubs; }
/** * Run the database seeds. * * @return void */ public function run() { Club::create(['name' => 'No Club']); Club::create(['name' => 'Brixham']); Club::create(['name' => 'Paignton']); Club::create(['name' => 'Sidmouth']); Club::create(['name' => 'Torbay & Babbacombe']); }
/** * Update the specified resource in storage. * * @param UserRequest|Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(UserRequest $request, $id) { // Get only User related input fields $userFields = Input::only('first_name', 'last_name', 'phone_number', 'email', 'password', 'date_of_birth'); // Hash the password if (!empty($userFields['password'])) { $userFields['password'] = bcrypt($request['password']); } // Get only Address $addressFields = Input::only('address')['address']; // If any exceptions are thrown any DB operations // will be automatically rolled back. DB::transaction(function () use($request, $userFields, $addressFields, $id) { // Fetch User from the database $user = User::findOrFail($id); // Update user details foreach ($userFields as $k => $v) { if (!($k == 'password' && empty($v))) { $user->{$k} = $v; } } // Create new Address if does not exist in the database if (is_null($user->address)) { // Create new Address if input fields not empty. if (!empty($addressFields)) { $user->address()->create($addressFields); } } else { // Update Address foreach ($addressFields as $k => $v) { $user->address->{$k} = $v; } $user->address->save(); } // Create new Avatar if (Input::hasFile('avatar') && Input::file('avatar')->isValid()) { Avatar::make($user, $request); } // Assign user to a Local Club $user->club()->associate(Club::find($request['club_id'])); // Assign User to a Role $user->role()->associate(Role::find($request['role_id'])); // Remove user categories if (is_null($request['categories'])) { $user->categories()->detach(); } else { if (is_array($request['categories'])) { // Assign User to categories $user->categories()->sync($request['categories']); } } // Save user $user->save(); }); flash()->success('Success!', "User data has been updated!"); return redirect(route('admin.users.show', $id)); }