From 3669e0df402477fa508f0ff832048ed7d5532636 Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Tue, 15 Apr 2025 08:24:16 +0200 Subject: [PATCH] check if entry in tbl_studentlehrverband exits and update or insert on result --- .../api/frontend/v1/stv/Student.php | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/application/controllers/api/frontend/v1/stv/Student.php b/application/controllers/api/frontend/v1/stv/Student.php index f805be88a..f24ef62bb 100644 --- a/application/controllers/api/frontend/v1/stv/Student.php +++ b/application/controllers/api/frontend/v1/stv/Student.php @@ -156,6 +156,8 @@ class Student extends FHCAPI_Controller $uid = $student ? current($student)->student_uid : null; + $studiengang_kz = $student ? current($student)->studiengang_kz : null; + $result = $this->PrestudentModel->loadWhere(['prestudent_id' => $prestudent_id]); $person = $this->getDataOrTerminateWithError($result); @@ -231,10 +233,27 @@ class Student extends FHCAPI_Controller // Do Updates if (count($update_lehrverband)) { - $result = $this->StudentlehrverbandModel->update([ + $curstudlvb = $this->StudentlehrverbandModel->load([ 'studiensemester_kurzbz' => $studiensemester_kurzbz, 'student_uid' => $uid - ], $update_lehrverband); + ]); + + if(hasData($curstudlvb) && count(getData($curstudlvb)) > 0 ) + { + $result = $this->StudentlehrverbandModel->update([ + 'studiensemester_kurzbz' => $studiensemester_kurzbz, + 'student_uid' => $uid + ], $update_lehrverband); + } + else + { + $result = $this->StudentlehrverbandModel->insert(array_merge([ + 'studiensemester_kurzbz' => $studiensemester_kurzbz, + 'student_uid' => $uid, + 'studiengang_kz' => $studiengang_kz + ], $update_lehrverband)); + } + $this->getDataOrTerminateWithError($result); }