From 2ba9ab5157fba938b453b23f28328eebcf8597de Mon Sep 17 00:00:00 2001 From: mirivlad Date: Thu, 2 Apr 2026 09:57:52 +0800 Subject: [PATCH] =?UTF-8?q?Fix:=20=D0=A1=D0=BE=D1=85=D1=80=D0=B0=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20organization=5Fid=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D0=BA=D0=B0=D0=B6=D0=B4=D0=BE=D0=B3=D0=BE=20=D1=8D?= =?UTF-8?q?=D0=BB=D0=B5=D0=BC=D0=B5=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ✅ Каждый элемент создаёт отдельную запись ✅ organization_id = null для пользователей/групп ✅ organization_id заполняется для организаций Co-authored-by: Qwen-Coder --- .../Admin/CourseRequestController.php | 32 +++++++------------ 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/app/Http/Controllers/Admin/CourseRequestController.php b/app/Http/Controllers/Admin/CourseRequestController.php index 1053026..8016359 100755 --- a/app/Http/Controllers/Admin/CourseRequestController.php +++ b/app/Http/Controllers/Admin/CourseRequestController.php @@ -101,38 +101,41 @@ class CourseRequestController extends Controller // Создаём элементы заявки foreach ($items as $itemData) { - // Создаём отдельные записи для каждого пользователя - if (!empty($itemData['user_ids'])) { + // Определяем тип получателя + $hasUsers = !empty($itemData['user_ids']); + $hasGroups = !empty($itemData['group_ids']); + $hasOrganization = !empty($itemData['organization_id']); + + // Создаём ОТДЕЛЬНЫЕ записи для КАЖДОГО получателя + if ($hasUsers) { foreach ($itemData['user_ids'] as $userId) { CourseRequestItem::create([ 'course_request_id' => $courseRequest->id, 'course_id' => $itemData['course_id'], 'user_id' => $userId, 'group_id' => null, - 'organization_id' => $itemData['organization_id'] ?? null, + 'organization_id' => null, // Для пользователей organization_id = null 'start_date' => $itemData['start_date'], 'end_date' => $itemData['end_date'] ?? null, ]); } } - // Создаём отдельные записи для каждой группы - if (!empty($itemData['group_ids'])) { + if ($hasGroups) { foreach ($itemData['group_ids'] as $groupId) { CourseRequestItem::create([ 'course_request_id' => $courseRequest->id, 'course_id' => $itemData['course_id'], 'user_id' => null, 'group_id' => $groupId, - 'organization_id' => $itemData['organization_id'] ?? null, + 'organization_id' => null, // Для групп organization_id = null 'start_date' => $itemData['start_date'], 'end_date' => $itemData['end_date'] ?? null, ]); } } - // Если только организация (без пользователей и групп) - if (empty($itemData['user_ids']) && empty($itemData['group_ids']) && !empty($itemData['organization_id'])) { + if ($hasOrganization) { CourseRequestItem::create([ 'course_request_id' => $courseRequest->id, 'course_id' => $itemData['course_id'], @@ -143,19 +146,6 @@ class CourseRequestController extends Controller 'end_date' => $itemData['end_date'] ?? null, ]); } - - // Если ничего не указано - создаём запись без привязки - if (empty($itemData['user_ids']) && empty($itemData['group_ids']) && empty($itemData['organization_id'])) { - CourseRequestItem::create([ - 'course_request_id' => $courseRequest->id, - 'course_id' => $itemData['course_id'], - 'user_id' => null, - 'group_id' => null, - 'organization_id' => null, - 'start_date' => $itemData['start_date'], - 'end_date' => $itemData['end_date'] ?? null, - ]); - } } // Если заявка одобрена - сразу создаём назначения