Я объединяю 4 таблицы для извлечения, но я хочу получить набор результатов как 2 массива, я пробовал и его повторное получение как один набор результатов.
Ниже приведен запрос
select * from `services` inner join `location_services` on `location_services`.`serviceID` = `services`.`serviceID` inner join `locations` on `locations`.`locationID` = `location_services`.`locationID` inner join `clinics` on `clinics`.`clinicID` = `locations`.`clinicID` where `locations`.`clinicID` = 7
Как показано на рисунке, я хочу получить
location id with 38 as one result set and `39` as another.
Follwing - мой запрос в контроллере
public function showClinic($id)
{
$clinic = Clinic::find($id);
$locations = Location::where('clinicID', $id)->get();
$locationservices = Service::select('services.serviceName as servicename','locations.locationID as locid')
->join('location_services', 'location_services.serviceID', '=', 'services.serviceID')
->join('locations', 'locations.locationID', '=', 'location_services.locationID')
->join('clinics', 'clinics.clinicID', '=', 'locations.clinicID')
->where('clinics.clinicID','=',$id)
->get();
// $newlocations = Service::select('services.serviceName as servicename','locations.locationID as locid')
// ->join('location_services', 'location_services.serviceID', '=', 'services.serviceID')
// ->join('locations', 'locations.locationID', '=', 'location_services.locationID')
// ->join('clinics', 'clinics.clinicID', '=', 'locations.clinicID')
// ->where('clinics.clinicID','=',$id)
// ->get();
return view('clinic.show')->with(['locations' => $locations ,'clinic'=>$clinic , 'services'=> $locationservices]);
}
Здесь есть несколько клин