php - 在 Laravel 中获取插入行的 ID

标签 php mysql laravel

这是我的代码:

User::create([
    'name' => $request->name,
    'email' => $request->email,
    'cell_phone' => $request->cell_phone,
    'province_id' => $request->province,
    'city_id' => $request->city,
    'job' => $job,
    'company' => $company,
    'member_num' => $member_num,
]);

如您所知,它会在数据库中插入一个新行。现在我需要获取插入行的 id。我怎样才能得到它?


注意到我知道,I can do the same if I use $obj->save(), and the id will be $obj->id; .但是我想知道当我使用 create() 时我该怎么做。

最佳答案

你可以使用代码获取用户插入的id

$userDetials = User::create([
     'name' => $request->name,
     'email' => $request->email,
     'cell_phone' => $request->cell_phone,
     'province_id' => $request->province,
     'city_id' => $request->city,
     'job' => $job,
     'company' => $company,
     'member_num' => $member_num,
]);
if(isset($userDetials->id))    
{
    //if inserted 
    return $userDetials->id;
}
else
{
   //not inserted
}

The create method returns the saved model instance

关于php - 在 Laravel 中获取插入行的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47786958/

相关文章:

javascript - Laravel webmix JS 与 Vue 组件顺序编译问题

php - Laravel 5.2 用户表中的额外列

php - 使用 PHP 从 Redis 中选择特定模式的所有关键数据

php - MySQL 错误 1046 : No database selected

php - VB.net + mySQL + md5 哈希建议

mysql - mysql数据库中的阿拉伯字母

php - 从开始日期计算周数

java - 如何定义复合主键?

php - 在同一时刻将 id(自动递增)插入到其他表中

php - laravel 的 Session flush and forget 方法没有按预期工作