fix resources code

This commit is contained in:
Muhammad Fajar
2022-11-04 05:35:00 +07:00
parent 6e6d9e65ca
commit 975f6cec35
9 changed files with 43 additions and 39 deletions

View File

@@ -3,14 +3,14 @@
namespace Modules\Linksehat\Http\Controllers\Api;
use App\Helpers\Helper;
use App\Models\Organization;
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\Doctor\DoctorResourceDetail;
use Illuminate\Support\Facades\DB;
use Modules\Linksehat\Transformers\DoctorResource;
use Modules\Linksehat\Transformers\PractitionerRoleToDoctorResource;
class DoctorController extends Controller
@@ -60,7 +60,7 @@ class DoctorController extends Controller
$doctors = $doctors->paginate($limit);
return Helper::responseJson(Helper::paginateResources(PractitionerRoleToDoctorResource::collection($doctors)));
return Helper::responseJson(['doctors' => Helper::paginateResources(PractitionerRoleToDoctorResource::collection($doctors))]);
}
/**
@@ -89,23 +89,25 @@ class DoctorController extends Controller
*/
public function show(Request $request, $id)
{
$queryDoctor = PractitionerRole::query()
$doctor = Practitioner::query()
->with([
'practitioner',
'speciality',
'practices.prices'
'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',
])
->findOrFail($id);
$queryAvailables = PractitionerRoleAvailability::query()->with(['days' => function ($query) {
$query->select(['availability_id', 'day']);
}])->where('practitioner_role_id', $id)->get(['id', 'start_time']);
$doctor = DoctorResourceDetail::make($queryDoctor);
$doctor['day_available'] = Helper::dailyAvailabilities($queryAvailables);
// return Helper::responseJson();
return response()->json(compact('doctor'));
return response()->json(DoctorResource::make($doctor));
}
/**