api doctor detail
This commit is contained in:
@@ -5,12 +5,13 @@ namespace Modules\Linksehat\Http\Controllers\Api;
|
||||
use App\Helpers\Helper;
|
||||
use App\Models\Practitioner;
|
||||
use App\Models\PractitionerRole;
|
||||
use App\Models\PractitionerRoleAvailability;
|
||||
use DB;
|
||||
use Illuminate\Contracts\Support\Renderable;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Controller;
|
||||
use Modules\Linksehat\Transformers\DoctorResource;
|
||||
use Modules\Linksehat\Transformers\PractitionerRoleToDoctorDetailResource;
|
||||
use Modules\Linksehat\Transformers\Doctors\DoctorResourceDetail;
|
||||
use Modules\Linksehat\Transformers\PractitionerRoleToDoctorResource;
|
||||
|
||||
class DoctorController extends Controller
|
||||
@@ -92,27 +93,23 @@ class DoctorController extends Controller
|
||||
*/
|
||||
public function show(Request $request, $id)
|
||||
{
|
||||
$doctor = Practitioner::query()
|
||||
$queryDoctor = PractitionerRole::query()
|
||||
->with([
|
||||
'practitionerRoles',
|
||||
'practitionerRoles.metas',
|
||||
'practitionerRoles.speciality',
|
||||
'practitionerRoles.organization' => function ($query) {
|
||||
$query->leftJoin('addresses', function ($q) {
|
||||
$q->on('organizations.main_address_id', '=', 'addresses.id');
|
||||
$q->where('addresses.addressable_type', '=', Organization::class);
|
||||
});
|
||||
},
|
||||
'practitionerRoles.practices',
|
||||
'practitionerRoles.availabilities',
|
||||
'person',
|
||||
'metas',
|
||||
'practitioner',
|
||||
'speciality',
|
||||
'practices.prices'
|
||||
])
|
||||
->findOrFail($id);
|
||||
|
||||
// return $doctor;
|
||||
$queryAvailables = PractitionerRoleAvailability::query()->with(['days' => function ($query) {
|
||||
$query->select(['availability_id', 'day']);
|
||||
}])->where('practitioner_role_id', $id)->get(['id', 'start_time']);
|
||||
|
||||
return response()->json(DoctorResource::make($doctor));
|
||||
// return $queryDoctor;
|
||||
$doctor = DoctorResourceDetail::make($queryDoctor);
|
||||
$doctor['day_available'] = Helper::dailyAvailabilities($queryAvailables);
|
||||
// return $doctor;
|
||||
return response()->json(compact('doctor'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user