From 3b390c8358b453bf2b7f394c84b95dcb78c65a19 Mon Sep 17 00:00:00 2001 From: mirivlad Date: Mon, 30 Mar 2026 14:18:11 +0800 Subject: [PATCH] =?UTF-8?q?Fix:=20=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7?= =?UTF-8?q?=D0=BA=D0=B0=20=D1=81=D1=83=D1=89=D0=B5=D1=81=D1=82=D0=B2=D1=83?= =?UTF-8?q?=D1=8E=D1=89=D0=B8=D1=85=20=D0=B3=D1=80=D1=83=D0=BF=D0=BF=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=B8=D0=BD=D0=B8=D1=86=D0=B8=D0=B0=D0=BB?= =?UTF-8?q?=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ✅ API возвращает группы при пустом запросе с user_id ✅ Фильтрация по названию только если query не пустой ✅ Компонент передаёт user_id при загрузке тегов Co-authored-by: Qwen-Coder --- app/Http/Controllers/Api/GroupSearchController.php | 11 +++++------ resources/views/components/tags-input.blade.php | 8 ++++++-- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/app/Http/Controllers/Api/GroupSearchController.php b/app/Http/Controllers/Api/GroupSearchController.php index b318995..07ec634 100755 --- a/app/Http/Controllers/Api/GroupSearchController.php +++ b/app/Http/Controllers/Api/GroupSearchController.php @@ -13,11 +13,6 @@ class GroupSearchController extends Controller $query = $request->get('q', ''); $userId = $request->get('user_id', null); - // Если запрос пустой - возвращаем пустой массив - if (empty(trim($query))) { - return response()->json([]); - } - $groupsQuery = Group::query()->with('organization'); // Если указан user_id - фильтруем по доступным группам @@ -37,8 +32,12 @@ class GroupSearchController extends Controller } } + // Если запрос не пустой - фильтруем по названию + if (!empty(trim($query))) { + $groupsQuery->where('name', 'like', "%{$query}%"); + } + $groups = $groupsQuery - ->where('name', 'like', "%{$query}%") ->orderBy('name') ->limit(50) ->get() diff --git a/resources/views/components/tags-input.blade.php b/resources/views/components/tags-input.blade.php index cc0ad6d..72eb53a 100644 --- a/resources/views/components/tags-input.blade.php +++ b/resources/views/components/tags-input.blade.php @@ -148,10 +148,14 @@ document.addEventListener('DOMContentLoaded', function() { @if(count($value) > 0) const existingIds = {!! json_encode(array_map('strval', is_array($value) ? $value : [])) !!}; if (existingIds.length > 0) { - // Загружаем все группы и фильтруем нужные - fetch('{{ $url }}?q=') + // Загружаем все доступные группы (с user_id для фильтрации) + let url = '{{ $url }}?q='; + @if(isset($user_id) && $user_id)url += '&user_id={{ $user_id }}';@endif + + fetch(url) .then(response => response.json()) .then(allItems => { + // Фильтруем только нужные группы const items = allItems.filter(item => existingIds.includes(String(item.id))); items.forEach(item => { select.addOption(item);