with(['speciality']) ->where('organization_id', $this->id) ->whereNotNull('speciality_id') ->orderBy('speciality_id') ->groupBy('speciality_id') ->get(['speciality_id']); foreach ($querySpecialitys as $indexSpeciality => $speciality) { $specialitys[$indexSpeciality]['id'] = $speciality->speciality->id; $specialitys[$indexSpeciality]['name'] = $speciality->speciality->name; $specialitys[$indexSpeciality]['avatar'] = asset('images/default-specialisasi-image.png'); } if (empty($this->distance)) { $address = $this->currentAddress->text; } else { $address = $this->currentAddress; } return [ 'id' => $this->id, 'name' => $this->name, 'address' => $address ?? null, 'distance' => $this->distance ? ($this->distance < 1 ? round($this->distance * 1000, 2) . " m" : round($this->distance, 2) . " km") : null, 'photos' => [ 'title' => Str::slug($this->name), 'url' => asset('images/default-hospital-image.png'), ], 'specialitys' => $specialitys ]; } }