Предполагая, что ваш пользовательский массив проиндексирован, а ваши данные строки являются индексированным массивом ассоциативных массивов, вы можете объединить / синхронизировать данные с помощью одного цикла, используя общий индекс ($i
).
$users = User::all();
$rows = $data->toArray();
foreach ($users as $i => $user) {
if (!$user->admin) {
$Data[]=
[
'user_id' => $user->id,
'avatar' => 'avatar.png',
'about' => isset($rows[$i]['description']) ? $rows[$i]['description'] : 'default'
];
}
}
profile::insert($Data);
p.s. Может быть целесообразно (в зависимости от ваших данных) проверить, что соответствующие $row
данные существуют с isset()
, прежде чем пытаться получить доступ к значению.