/** * Obtiene la informaciĆ³n de un perfil * * @param Profile $profile perfil del cual obtener los datos * @return array arreglo que contiene la informaciĆ³n del perfil */ public static function getProfileData($profile) { $profile->load('city.state.cities', 'city.sports', 'profileValues.field.values.parent', 'profileValues.value'); $roles = Role::all()->lists('description', 'idRole'); $states = State::all()->lists('description', 'idState'); $cities = $profile->city->state->cities->lists('description', 'idCity'); $sports = $profile->city->sports->filter(function ($sport) { return $sport->description != "Otro"; }); $sports->add(Sport::where("description", "=", "Otro")->first()); $sports = $sports->lists('description', 'idSport'); $fields = array(); foreach ($profile->profileValues as $profileValue) { $parent = $profileValue->value->parent->first(); self::solveParentValue($fields, $profileValue->field, $parent); self::addField($fields, $profileValue->field, $profileValue->value, $parent); } $data = array('roles' => $roles, 'states' => $states, 'cities' => $cities, 'sports' => $sports, 'fields' => $fields, 'profile' => $profile); return $data; }
public function getSports($idCity) { if (Request::ajax()) { $sports = City::find($idCity)->sports; $sports->add(Sport::where("description", "=", "Otro")->first()); return $sports; } }