Laravel как сделать много записей в 1 таблицу с 1 запроса к контроллеру?
Всем привет! Буду очень благодарен за помощь.
Есть массив объектов на клиенте делаю ajax post запрос к серверу и получаю ошибку:
Error: Request failed with status code 500
Так выглядит метод на который ведёт роут
public function setDataCalendar(Request $request)
{
foreach ($request as $dec) {
DecisionTask::create([
'hours' => $dec->hours,
'date' => $dec->date,
'id_task' => $dec->task_id
]);
}
}
все передаваемые данные верны.
при передаче 1-го объекта я убирал foreach и $dec менял на $request и ЗАПРОС СРАБАТЫВАЛ.
У меня тоже такое чувство. Вы уверены, что $request - это массив или коллекция, которую мог бы перебирать foreach?
P.S. Можно попробовать привести её к типу "массив" примерно так: foreach ((array)$request as $dec) { ...
Но перед этим я бы сделал dd((array)$request); и убедился бы, что там именно массив нужной консистенции.
Распечатайте dd($request) это не массив и не коллекция. Чтобы получить содержимое $request, надо обратиться к его методу all(). Очень велика вероятноть, что вы не совсем правильно передаете данные, вангую, что там не массив.