我目前正在使用下面的代码在一个表中插入数据:
<?php
public function saveDetailsCompany()
{
$post = Input::All();
$data = new Company;
$data->nombre = $post['name'];
$data->direccion = $post['address'];
$data->telefono = $post['phone'];
$data->email = $post['email'];
$data->giro = $post['type'];
$data->fecha_registro = date("Y-m-d H:i:s");
$data->fecha_modificacion = date("Y-m-d H:i:s");
if ($data->save()) {
return Response::json(array('success' => true), 200);
}
}
我想返回插入的最后一个ID,但我不知道如何获取它。
亲切的问候!
使用insertGetId同时插入和获取插入id
从医生
如果表有一个自动递增的id,则使用insertGetId方法
插入一条记录,然后检索ID:
通过模型
$id = Model::insertGetId(["name"=>"Niklesh","email"=>"myemail@gmail.com"]);
通过DB
$id = DB::table('users')->insertGetId(["name"=>"Niklesh","email"=>"myemail@gmail.com"]);
详情请访问:https://laravel.com/docs/5.5/queries#inserts
有几种方法可以获取最后插入的id。所有这些都是基于您在插入时使用的方法。在这种情况下,你可以得到最后一个。
$data->save();
$data->id;
对于其他人谁需要知道如何获得最后插入id,如果他们使用其他插入方法,这里是如何:
使用create()方法
书=书:美元:创建(['名字' = > ' Laravel战士']);
$lastId = $book->id;
使用insertGetId ()
$id = DB::table('books')->insertGetId(['name' => 'Laravel warrior']);$lastId = $id;
使用lastInsertId()方法
$lastId = DB::getPdo()->lastInsertId();
参考https://easycodesolution.com/2020/08/22/last-inserted-id-in-laravel/