📜  laravel db insert 获取最后一个 id - PHP (1)

📅  最后修改于: 2023-12-03 15:32:33.209000             🧑  作者: Mango

Laravel DB Insert 获取最后一个 id

在 Laravel 中,我们可以使用 DB Facade 来执行任何 SQL 查询和操作。在执行 insert 操作时,有时我们需要获得最后一个插入记录的 id。

使用 insertGetId 方法

Laravel 提供了一个便捷的方法 insertGetId,可以在执行 insert 操作时直接返回最后一个插入记录的 id。

示例代码:

$id = DB::table('users')->insertGetId(
    ['email' => 'john@example.com', 'name' => 'John Doe']
);

在上面的示例代码中,我们向 users 表中插入了一条记录,同时使用 insertGetId 方法获得了最后一个插入记录的 id。

执行原生 SQL 语句

如果需要在执行原生 SQL 语句时获得最后一个插入记录的 id,可以使用 LAST_INSERT_ID() 函数。

示例代码:

DB::insert('INSERT INTO users (email, name) VALUES (?, ?)', ['john@example.com', 'John Doe']);

$id = DB::selectOne('SELECT LAST_INSERT_ID() as id')->id;

在上面的示例代码中,我们通过 DB Facade 执行了一条原生的 insert 语句,再使用 selectOne 方法查询最后一个插入记录的 id。

结论

Laravel 提供了 insertGetId 方法方便我们在插入记录时获得最后一个插入记录的 id,同时我们也可以通过原生 SQL 语句使用 LAST_INSERT_ID() 函数来获得 id。根据具体情况选择合适的方法即可。