首页 > 解决方案 > Laravel 不同的查询和对象到数组的转换不起作用

问题描述

我想显示唯一的位置名称和 ID,并且我希望它作为数组,如果我确实使用groupBy它,它将工作并将数据显示为对象。我的要求是将其作为唯一数组检索,但它不起作用。我不知道代码中的错误是什么

public function showClinicLocations($id)
    {
        $clinic = Clinic::find($id);
        $locations = Location::where('clinicID', $id)->get();
        $locationservices = Service::select('services.serviceName as servicename','locations.locationID as locid','locations.locationName as locname') 
        ->groupBy('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();

        echo $locationservices;

        die();
       // $locationservices = json_encode(array_unique($locationservices));


        return view('clinic.locations')->with(['locations' =>  $locations  ,'clinic'=>$clinic , 'services'=> $locationservices]);
    }

你能帮我么

我已经上传了输出在此处输入图像描述

如果有多个相同的 loc id,则只应显示一个 loc id

标签: phplaravel

解决方案


推荐阅读