Data Docter dan Hospital dnegan Filter di dashboard
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
namespace Modules\Internal\Http\Controllers\Api;
|
||||
|
||||
use App\Helpers\Helper;
|
||||
use App\Models\Practitioner;
|
||||
use App\Models\PractitionerRole;
|
||||
use Illuminate\Contracts\Support\Renderable;
|
||||
use Illuminate\Http\Request;
|
||||
@@ -15,9 +16,34 @@ class DoctorController extends Controller
|
||||
* Display a listing of the resource.
|
||||
* @return Renderable
|
||||
*/
|
||||
public function index()
|
||||
public function index(Request $request)
|
||||
{
|
||||
$doctors = PractitionerRole::active()->with('practitioner.person', 'organization')->paginate();
|
||||
// $doctors = PractitionerRole::active()->with('practitioner.person', 'organization')
|
||||
// ->when($request->search ?? null, function ($query, $search) {
|
||||
// $query->whereHas('practitioner.person', function ($person) use ($search) {
|
||||
// $person->where('name', 'LIKE', '%' . $search . '%');
|
||||
// });
|
||||
// })->paginate();
|
||||
|
||||
$doctors = Practitioner::with('person', 'practitionerRoles.organization', 'practitionerRoles.speciality')
|
||||
->when($request->search ?? null, function ($query, $search) {
|
||||
$query->whereHas('person', function ($person) use ($search) {
|
||||
$person->where('name', 'LIKE', '%' . $search . '%');
|
||||
});
|
||||
})
|
||||
->when($request->organization_id ?? null, function ($query, $organization_id) {
|
||||
$query->whereHas('practitionerRoles', function ($practitionerRole) use ($organization_id) {
|
||||
$practitionerRole->where('organization_id', $organization_id);
|
||||
});
|
||||
})
|
||||
->when($request->speciality_id ?? null, function ($query, $speciality_id) {
|
||||
$query->whereHas('practitionerRoles', function ($practitionerRole) use ($speciality_id) {
|
||||
$practitionerRole->where('speciality_id', $speciality_id);
|
||||
});
|
||||
})
|
||||
->paginate();
|
||||
|
||||
// return $doctors;
|
||||
|
||||
|
||||
return response()->json(Helper::paginateResources(DoctorResource::collection($doctors)));
|
||||
|
||||
Reference in New Issue
Block a user