使用Laravel Eloquent获取最后插入的ID

2022-08-30 05:55:31

我目前正在使用以下代码在表中插入数据:

<?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,但我不知道如何获取它。

亲切问候!


答案 1

保存后,应为最后插入的 ID。$data->id

$data->save();
$data->id;

可以这样使用。

return Response::json(array('success' => true, 'last_insert_id' => $data->id), 200);

对于更新的拉拉维尔版本,请尝试这个

return response()->json(array('success' => true, 'last_insert_id' => $data->id), 200);

答案 2

在这种情况下,xdazz是正确的,但是为了将来可能正在使用或的访问者的利益,还有另一种方法:DB::statementDB::insert

DB::getPdo()->lastInsertId();

推荐