Esempio n. 1
0
 public static function searchDoctor($pais, $ciudad, $especialidad, $seguro, $nombre, $patient)
 {
     $doctors = DB::table('doctors')->Join('users', 'users.id', '=', 'doctors.user_id')->Join('specialties', 'specialties.id', '=', 'doctors.specialty_id')->Join('clinics', 'clinics.id', '=', 'doctors.clinic_id')->Join('business_clinics', 'business_clinics.doctor_id', '=', 'doctors.id')->Join('addresses', 'addresses.id', '=', 'business_clinics.addresses_id')->Join('cities', 'cities.id', '=', 'addresses.city_id')->Join('provinces', 'provinces.id', '=', 'cities.province_id')->Join('countries', 'countries.id', '=', 'provinces.country_id');
     /*
     $pais 
     $ciudad  
     $especialidad
     $seguro
     if($ciudad!=""){$patients = $patients->where('appointments.reason', 'LIKE', '%'.Input::get("motivo").'%'); }
     */
     if ($pais != "0") {
         $doctors = $doctors->where('countries.id', $pais);
     }
     if ($ciudad != "0") {
         $doctors = $doctors->where('cities.id', $ciudad);
     }
     if ($especialidad != "0") {
         $doctors = $doctors->where('specialties.id', $especialidad);
     }
     $doctors = $doctors->where('doctors.state', 1);
     $doctors = $doctors->select('doctors.id as id', DB::raw('CONCAT(first_name," ",last_name) as name'), 'business_clinics.name as local', 'business_clinics.id as local_id', 'specialties.id as specialty_id', 'specialties.name_es as specialty_name', 'cities.id as city_id', 'cities.name as city_name', 'provinces.name as province', 'countries.id as country_id', 'countries.name as country_name', 'addresses.id as address_id', 'addresses.my_address as address_name')->take(10);
     $doctors = $doctors->orderBy('users.first_name')->get();
     $array = [];
     if ($seguro != "0") {
         foreach ($doctors as $a) {
             $c = Helpers::Insurances($a->id, true, $seguro);
             $is_favorite = Helpers::is_favorite($a->local_id, $patient);
             if (!$c) {
             } else {
                 $arrayobj = (array) $a;
                 $arrayobj2 = array('insurances' => $c, 'favorite' => $is_favorite);
                 $a = array_merge($arrayobj, $arrayobj2);
                 $array2 = array_merge($array, $a);
                 $array[] = $a;
             }
         }
     } else {
         foreach ($doctors as $doc) {
             $c = Helpers::Insurances($doc->id);
             $is_favorite = Helpers::is_favorite($doc->local_id, $patient);
             $arrayobj = (array) $doc;
             $arrayobj2 = array('insurances' => $c, 'favorite' => $is_favorite);
             $doc = array_merge($arrayobj, $arrayobj2);
             $array2 = array_merge($array, $doc);
             $array[] = $doc;
         }
     }
     #return Response::json($array);
     return Response::json($array);
 }