From c9104749c54969682790843bd8ab3111827bd8c4 Mon Sep 17 00:00:00 2001 From: chfhtw Date: Wed, 20 Aug 2025 16:52:16 +0200 Subject: [PATCH] Faster Query for stv/students/getIncoming --- .../api/frontend/v1/stv/Students.php | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/application/controllers/api/frontend/v1/stv/Students.php b/application/controllers/api/frontend/v1/stv/Students.php index fe2167189..8dcdbcc5e 100644 --- a/application/controllers/api/frontend/v1/stv/Students.php +++ b/application/controllers/api/frontend/v1/stv/Students.php @@ -116,6 +116,17 @@ class Students extends FHCAPI_Controller $this->load->model('crm/Prestudent_model', 'PrestudentModel'); + $this->PrestudentModel->addJoin( + "( + SELECT prestudent_id + FROM public.tbl_prestudentstatus + WHERE status_kurzbz = 'Incoming' + AND studiensemester_kurzbz = " . $this->PrestudentModel->escape($studiensemester_kurzbz) . " + ) test", + "prestudent_id" + ); + + $this->prepareQuery($studiensemester_kurzbz); $this->PrestudentModel->addSelect("COALESCE( @@ -134,14 +145,6 @@ class Students extends FHCAPI_Controller $this->addFilter($studiensemester_kurzbz); - $selectIncoming = "SELECT 1 - FROM public.tbl_prestudentstatus test - WHERE test.prestudent_id=tbl_prestudent.prestudent_id - AND test.status_kurzbz='Incoming' - AND test.studiensemester_kurzbz=v.studiensemester_kurzbz"; - - $this->PrestudentModel->db->where("EXISTS (" . $selectIncoming . ")", null, false); - $result = $this->PrestudentModel->load();