alexjet73
@alexjet73

Есть ли возможность в Laravel обновить записи модели из массива одной строкой?

Допустим есть массив объектов с id и date
$arr=[
(object)['id'=>1,'date'=>'2024-12-11'],
(object)['id'=>2,'date'=>'2024-03-28'],
(object)['id'=>3,'date'=>'2024-04-01']];
//...etc

Можно обновлять в цикле foreach делая find(id), меняя поле date и сохранять модель save()
А есть ли встроенная возможность это делать в Eloquent? Знаю про whereIn, но это работает если есть 1 значение на все записи. И имеет ли вообще это смысл в плане оптимизации или есть может другой подход сделать подобный запрос лучше?
  • Вопрос задан
  • 125 просмотров
Пригласить эксперта
Ответы на вопрос 1
Fragster
@Fragster
помогло? отметь решением!
Если не принципиален вызов событий и всякие $casts, и есть гарантия, что все данные существуют (или это не принципиально), то можно воспользоваться upsert.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы