АІ
Є наступні таблиці в базі:
subjects: id, name, type
groups: id, name
users: id, name, parentname, surname та ще кілька полів
Є також форма в blade, в якій обирається зі списку один subject, а потім передається в контролер його id по ajax, і залежно від типу subject (groups, users) потрібно віддати назад список або з таблиці groups, або з users.
Із groups проблем немає - роблю виборку із бази і вкорочую за допомогою pluck:
Group::pluck("name","id");
А тоді в blade приймаю отак:
$.each(target, function(id, name){
$(".subject_target").append('<option value="'+ id +'">' + name + '</option>');
});
Проблеми починаються, коли в select обирається users. Мені потрібно передати з цієї таблиці тільки три поля - id, name та surname. У цьому випадку pluck не підходить, пробую отак:
$users = User::get();
$target = $users->map(function ($user) {
return collect($user->toArray())
->only(['id', 'name', 'surname'])
->all();
});
Тепер, власне, запитання. Як я маю прийняти ці дані в blade?
У мене два варіанти. Або в контролері якось об'єднати name і surname в одне поле, і за допомогою pluck вивести в такому ж вигляді, як і groups (мені важливо, щоб у select id заносилося у value, а name + surname показувалося у списку), або приймати ajax'ом дані як є, а потім з'єднувати name та surname на місці. Але з жодним варіантом не можу сам справитися. Допоможіть, бо вже півтисячі сивих волосків з'явилося, а результату нуль 😂