我目前正在使用下面的代码在一个表中插入数据:

<?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

其他回答

你也可以这样尝试:

public function storeAndLastInrestedId() {
    $data = new ModelName();
    $data->title = $request->title;
    $data->save();

    $last_insert_id = $data->id;
    return $last_insert_id;
}

为劳拉***

首先创建一个对象,然后为该对象设置属性值,然后保存对象记录,然后获取最后插入的id。如

$user = new User();        

$user->name = 'John';  

$user->save();

//现在获取最后插入的id

$insertedId = $user->id;

echo $insertedId ;

有几种方法可以获取最后插入的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/

你可以这样做:

$result=app('db')->insert("INSERT INTO table...");

$lastInsertId=app('db')->getPdo()->lastInsertId();

这就是它是如何为我工作的,family_id是自动增量的主键,我使用Laravel7

    public function store(Request $request){
        $family = new Family();
        $family->family_name = $request->get('FamilyName');
        $family->family_no = $request->get('FamilyNo');
        $family->save();
        //family_id is the primary key and auto increment
        return redirect('/family/detail/' .  $family->family_id);
    }

同样在Model Family文件中,应该将增量设置为true,否则上面的$ Family——>family_id将返回空

    public $incrementing = true;