РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
201 of 1392 menu

Метод saveMany

Метод saveMany применяется к объекту модели Eloquent и позволяет сохранить коллекцию или массив связанных моделей одной операцией. Этот метод работает через отношения типа hasMany, morphMany и другие коллективные связи. Первым параметром передаётся массив или коллекция моделей для сохранения. Метод автоматически устанавливает внешний ключ для каждой модели и вызывает их метод save.

Синтаксис

<?php $parent->relation()->saveMany($models); ?>

Пример

Давайте сохраним несколько комментариев для одной статьи:

<?php use AppModelsArticle; use AppModelsComment; $article = Article::find(1); $comments = [ new Comment(['text' => 'Great article']), new Comment(['text' => 'Very useful']), new Comment(['text' => 'Thanks for sharing']) ]; $article->comments()->saveMany($comments); ?>

Результат выполнения кода:

"Comments saved successfully"

Пример

Давайте сохраним несколько комментариев, используя коллекцию:

<?php use AppModelsArticle; use AppModelsComment; use IlluminateSupportCollection; $article = Article::find(2); $comments = collect([ ['text' => 'First comment'], ['text' => 'Second comment'], ])->map(function ($data) { return new Comment($data); }); $article->comments()->saveMany($comments); ?>

Результат выполнения кода:

"Comments saved successfully"

Пример

Давайте сохраним несколько комментариев и проверим, сколько записей было создано:

<?php use AppModelsArticle; use AppModelsComment; $article = Article::find(3); $comments = [ new Comment(['text' => 'Comment 1']), new Comment(['text' => 'Comment 2']), new Comment(['text' => 'Comment 3']) ]; $result = $article->comments()->saveMany($comments); echo count($result) . ' comments created'; ?>

Результат выполнения кода:

"3 comments created"

Смотрите также

  • метод save,
    который сохраняет одну связанную модель
  • метод createMany,
    который создаёт и сохраняет несколько моделей из массивов данных
  • метод update,
    который обновляет существующие модели
  • метод hasMany,
    который определяет отношение "один ко многим"
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить