Posts Learn Components Snippets Categories Tags About
/

How to Save Multiple Records at Once in Laravel Eloquent

Learn how to save multiple records at once by using saveMany() and

Created on Aug 11, 2021

213 views

Sometimes you might need to save multiple records at once and you can do so by using the "saveMany()" method or the "createMany()" method available to each of the Eloquent model relation.

Prerequisite For Saving Multiple Records
Do note that you need to have "hasMany()" relationship in order to do so. For example, imagine having a Post that has many Comments.
<?php # your post model

class Post extends Model
{
    # your other codes here

    public function comments()
    {
        return $this->hasMany(\App\Models\Comments::class);
    }
}

Laravel saveMany() Code Example
The save many accepts multiple arrays of the relationship instance. In the case of this example, it will be the comments. 
<?php

$post = Post::first();

$post->comments()->saveMany([
  new Comment(['title' => 'Comment 1']),
  new Comment(['title' => 'Comment 2']),
]);

The code above will save 2 comments at the same time for the first post.

Laravel createMany() Code Example
The other way is to use the createMany() method and you can just pass in the data as an array as follows.
<?php

$post = Post::first();

$post->comments()->saveMany([
  ['title' => 'Comment 1'],
  ['title' => 'Comment 2'],
]);

Snippets by

PostSrc poster

PostSrc

Full stack developer mainly focusing on the front end side of the web. The main author of PostSrc and loves writing tutorial and guides online.

new

PostSrc Code Components

Collection of Tailwind CSS components for everyone to use. Browse all of the components that's right for your project.

View Components

Other Code Snippets

More