with([ 'practitioner.person', 'speciality' ]) ->whereHas('speciality')->get()->random(5); $queryHospitals = Organization::query() ->without('meta') ->where('organizations.type', 'hospital') ->leftJoin('addresses', function ($q) { $q->on('organizations.main_address_id', '=', 'addresses.id'); $q->where('addresses.addressable_type', '=', Organization::class); }) ->selectRaw("organizations.*, addresses.text AS currentAddress, 6371 * acos (cos ( radians($request->lat) ) * cos( radians( addresses.lat ) ) * cos( radians( addresses.lng ) - radians($request->lng) ) + sin ( radians($request->lat) ) * sin( radians( addresses.lat ) )) as distance") ->limit(5) ->get(); $doctors = DoctorResource::collection($queryDoctors); $hospitals = HospitalResource::collection($queryHospitals); $articles = ArticleResource::collection(json_decode(Http::get('https://linksehat.com/api/medical-assistance-articles'))); return response()->json([ 'success' => true, 'statusCode' => 200, 'message' => 'Success', 'data' => compact('doctors', 'hospitals', 'articles'), ]); } }