@php $modalId = 'ModalForm_add_to_training_multi'; $formId = 'form_add_to_training_multi'; $aktywneOsoby = DB::table('t035_osoby') ->where('status_aktywny', '1') ->where('pracownik', '1') ->orderBy('nazwisko') ->orderBy('imie') ->get(); $komorki = DB::table('sw020_komorki_organizacyjne') ->orderBy('nazwa_pelna') ->get(); $aktualniUczestnicy = DB::table('t052_szkolenie_osoba') ->where('id_szkolenie', $data->id) ->pluck('id_osoba') ->toArray(); // Mapowanie osoby -> pierwszy przypisany wydzial (KO). $koByPersonId = []; $osobaIds = $aktywneOsoby->pluck('id')->toArray(); if (!empty($osobaIds)) { $powiazaniaKO = DB::table('t021_pracownicy_w_dziale as pwd') ->leftJoin('sw020_komorki_organizacyjne as ko', 'ko.id', '=', 'pwd.dzial_id') ->whereIn('pwd.pracownik_id', $osobaIds) ->whereNotNull('pwd.status') ->orderBy('pwd.pracownik_id') ->orderBy('pwd.id') ->get([ 'pwd.pracownik_id', 'pwd.dzial_id', 'ko.nazwa_skrot', ]); foreach ($powiazaniaKO as $itemKO) { if (!isset($koByPersonId[$itemKO->pracownik_id])) { $koByPersonId[$itemKO->pracownik_id] = [ 'id' => (int) ($itemKO->dzial_id ?? 0), 'skrot' => $itemKO->nazwa_skrot ?? '', ]; } } } @endphp