📅  最后修改于: 2023-12-03 15:37:23.549000             🧑  作者: Mango
有时候我们需要在 Laravel 中获取最后插入的 id。在这篇文章中,我们将介绍如何使用 Laravel 来实现这个功能。
在使用 save 方法保存数据时,Laravel 会自动为新的记录分配一个 id。我们只需要在保存数据后获取这个 id 即可。以下是示例代码:
$user = new User;
$user->name = 'John';
$user->email = 'john@example.com';
$user->save();
$id = $user->id;
通过 $user->save()
方法保存数据后,我们可以使用 $user->id
获取最后插入的 id。
如果你使用 create
方法批量创建记录,Laravel 会返回一个包含新记录 id 的数组。以下是示例代码:
$user = User::create([
'name' => 'John',
'email' => 'john@example.com',
]);
$id = $user->id;
在上面的示例中,$user->id
将会是最后插入的 id 值。
如果你使用 insert
方法批量插入数据,由于这种方式不会返回任何对象,你需要使用 DB
facade 的 insertGetId
方法显式地获取最后插入的 id。以下是示例代码:
$id = DB::table('users')->insertGetId([
'name' => 'John',
'email' => 'john@example.com',
]);
在上面的示例中, $id
变量将会包含最后插入的 id 值。
以上是在 Laravel 中返回最后插入的 id 的三种方法。无论你使用哪种方法,你都能方便地获取新记录的 id。