feat(doctors): add city and province filters for doctor listing
This commit is contained in:
@@ -339,6 +339,8 @@ class AdminApiController extends BaseController
|
||||
$status = $request->query->get('status', '');
|
||||
$gender = trim((string) $request->query->get('gender', ''));
|
||||
$specId = (int) $request->query->get('specialty_id', 0);
|
||||
$cityId = (int) $request->query->get('city_id', 0);
|
||||
$stateId = (int) $request->query->get('state_id', 0);
|
||||
$sort = trim((string) $request->query->get('sort', 'newest'));
|
||||
|
||||
$conn = $this->em->getConnection();
|
||||
@@ -370,6 +372,15 @@ class AdminApiController extends BaseController
|
||||
if ($request->query->get('unassigned') === '1') {
|
||||
$where[] = 'd.representation_id IS NULL';
|
||||
}
|
||||
// فیلتر شهر/استان بر اساس آدرسِ خودِ پزشک (doctor_addresses).
|
||||
if ($cityId > 0) {
|
||||
$where[] = 'EXISTS (SELECT 1 FROM doctor_addresses da WHERE da.doctor_id = d.id AND da.city_id = :cityId)';
|
||||
$params['cityId'] = $cityId;
|
||||
}
|
||||
if ($stateId > 0) {
|
||||
$where[] = 'EXISTS (SELECT 1 FROM doctor_addresses das WHERE das.doctor_id = d.id AND das.province_id = :stateId)';
|
||||
$params['stateId'] = $stateId;
|
||||
}
|
||||
|
||||
$whereStr = implode(' AND ', $where);
|
||||
$orderBy = match ($sort) {
|
||||
|
||||
Reference in New Issue
Block a user