Posts Learn Components Snippets Categories Tags Tools 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


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. 

$post = Post::first();

  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.

$post = Post::first();

  ['title' => 'Comment 1'],
  ['title' => 'Comment 2'],

If you like our tutorial, do make sure to support us by being our Patreon or buy us some coffee ☕️