简体   繁体   中英

How to get last inserted id through save() method in laravel

I know to get the last id I can use insertGetId() but I want to know how can I get the last inserted id through save() method.

order = new Store_order;
    $order->invoice_id = $signed['invoice_id'];
    $invoice = $order->save()['so_id'];

I used this but it returns null value

After $order->save() , $order->so_id should be the last id inserted. Your code should be as below.

$order = new Store_order;
$order->invoice_id = $signed['invoice_id'];
$order->save();
$invoice = $order->so_id;

You can get it by like below :

$order = new Store_order;
$order->invoice_id = $signed['invoice_id'];
$invoice = $order->save();
echo $invoice->so_id;

in this case you no need to store in one variable and then access it, You can get the inserted records by calling the model object itself :

    $order = new Store_order;
    $order->invoice_id = $signed['invoice_id'];
    $order->save();
    // echo $order; => will return entire stored last record.
    echo $order->so_id;

Make sure so_id is autoincrement.

You can get the last inserted id by the following codes.

Using Laravel Eloquent

$order = new Store_order();
$order->invoice_id = $signed['invoice_id'];
$order->save();

$lastInsertedId = $order->so_id;     //now getting Last inserted id
echo $lastInsertedId; 

Provided that $order->so_id means last inserted id of the given object where so_id is the primary key of the table.

Try this once it worked for me where $mode->save(); was only returning true.

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

In case of you did overwride the name of primary key in the model as in next case:

protected $primaryKey = 'your_table_id_name';

use:

$id = $your_variable_save->your_table_id_name

if not:

$id = $your_variable_save->id
$ObjTable->nane = $name;
$ObjTable->save();
echo $ObjTable->id;

this will be display last inserted id.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM