/** * @param User $user * @param FormRequestAbstract $request * * @return object */ public function userPrimaryAddress(User $user, FormRequestAbstract $request) { $country = Country::find($request->get('primary_address_country_id')); $state = State::find($request->get('primary_address_state_id')); $substate = SubState::find($request->get('primary_address_substate_id')); $locator = $country; $locator = is_null($state) ? $locator : $state; $locator = is_null($substate) ? $locator : $substate; if (is_null($user->flaggedAddress('primary'))) { return $user->addAddress(['flag' => 'primary', 'street' => $request->get('primary_address_street'), 'street_extra' => $request->get('primary_address_street_extra'), 'city' => $request->get('primary_address_city'), 'zip' => $request->get('primary_address_zip')], $locator); } return $user->updateAddress(['flag' => 'primary', 'street' => $request->get('primary_address_street'), 'street_extra' => $request->get('primary_address_street_extra'), 'city' => $request->get('primary_address_city'), 'zip' => $request->get('primary_address_zip')], $locator); }