Bhavin Shah
Bhavin Shah

Reputation: 2482

How to get last inserted id in Laravel?

Here is my code

 $users = DB::table('users')->insert(array(
     'email_id' => $email_id,
     'name' => $name,
 ));

 $lastInsertedID = $users->lastInsertId();
           
 return $lastInsertedID;

I want to get last inserted id for particular record. I have tried using Eloquent ORM. but it didn't work.

Any help would be grateful.

Thank You.

Upvotes: 9

Views: 46825

Answers (5)

Mohammad Usman
Mohammad Usman

Reputation: 31

$id = DB::getPdo()->lastInsertId();

Upvotes: 1

Dhairya Lakhera
Dhairya Lakhera

Reputation: 4808

Here are the following methods to get last inserted id

Eloquent

Method 1

$user = new User();
$user->name = "Test";
$user->save();
dd($user->id);

Method 2

$user = User::create(['name' => 'Test']);
dd($user->id);

Query Builder

Method 3

In this method Primary Key must me id. If its other then id for example some_id then this method will throw exception.

$id = DB::table('users')->insertGetId(['name' => 'Test']);
dd($id);

Method 4

This method is usefull if you are using DB Facade and have Custom Primary Key like some_id.

DB::table('users')->insert(['name' => 'Test']);
dd(DB::getPdo()->lastInsertId());  

Upvotes: 3

Majbah Habib
Majbah Habib

Reputation: 8558

Follow the code to get last inserted id by using ->insert()

$lastInsertedID = DB::table('users')
                     ->insert( array(
                         'email_id' => $email_id,
                         'name' => $name
                         )
                     )
                    ->lastInsertId();

Upvotes: 3

aynber
aynber

Reputation: 23010

Use insertGetId()

$id = DB::table('users')-> insertGetId(array(
    'email_id' => $email_id,
    'name' => $name,
));

Upvotes: 30

yekyawaung
yekyawaung

Reputation: 211

Do you mean you inserted record id? You can get the following way:

//UserController.php

$user  = new User;
$user->name = $request->name;
$user->email = $request->email;
if($user->save()){
    echo "User's record id is ".$user->id; *//$user->id is your lastest record id*
}

Upvotes: 0

Related Questions