Имя пользователя < /th>
пользователь LastName < /th>
Группа A < / th>
группа B < /th>
группа x < /th>
< /tr>
< /thead>
Джон
do /> x < /td>
< /tr>
jane < /td>
doe < /td> < /td>
< /td>
x < /td>
< /tr>
< /tbody> < бренд /> < /table> < /div>
У меня есть 3 таблицы:
таблица пользователя, таблица группы и таблица сопоставления группы, которая является маркированием user_id и Group_id, как пользователь может иметь Многие группы.public function headings(): array
{
$header = array();
$search ="Group";
$groupList = new \App\Models\Group;
$groupList = $groupList::where('name','LIKE',"%{$search}%")->get();;
foreach($groupList as $key=>$value) {
$header[]=$value["name"];
}
array_unshift($header,"User Name", "User Lastname");
return $header;
}
< /code>
Обратите внимание, что я не могу контролировать количество группы, которая будет выводиться. Содержит имена пользователей, имена LASTN и членство в группе. < /p>
public function array(): array
{
$datas = array();
$MyUsers = MyUser::with(['groupMatching'])->get();
foreach($MyUsers as $MyUser) {
$datas[$MyUser->id]["name"] = $MyUser->lastname;
$datas[$MyUser->id]["firstname"] = $MyUser->firstname;
foreach($MyUser->groupMatching as $MyMember) {
$datas[$MyUser->id]["groups"][] = $MyMember->Group_name;
}
}
return $datas;
}
< /code>
so $ datas выглядит так: < /p>
array:23 [▼ // app/Exports/MyUsersExport.php:31
4 => array:3 [▼
"name" => "Doe"
"firstname" => "John"
"groups" => array:3 [▼
0 => "Group A"
1 => "Group X"
]
5 => array:3 [▼
"name" => "Jane"
"firstname" => "Doe"
"groups" => array:2 [▼
0 => "Group X"
]
]
]
< /code>
Какой следующий шаг для достижения иллюстрированного вывода? Как я могу получить x на сопоставлении имени столбца /наборы? Я использую Laravel 9 и Maatwebsite/Excel 3.1
Спасибо за вашу помощь

Подробнее здесь: https://stackoverflow.com/questions/780 ... om-mysql-d