如何在 Laravel5.5 中 save 之后,获取存入的 id?

如何在laravel5.5 中 save之后,获取存入的id?

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
mouyong
最佳答案
$user= new User(['name' => 'Jhon', 'age' => 3]);
$user->save();
$id = $user->id;
7年前 评论
讨论数量: 12
mouyong
$user= new User(['name' => 'Jhon', 'age' => 3]);
$user->save();
$id = $user->id;
7年前 评论

@蜗牛 $user->save 返回的值为 true

7年前 评论
leo

@respect 人家代码里也没用 save 的返回值啊

7年前 评论

@leo


$user = new Topic(['parent_id' => '0', 'value' => '123']);
$user->save();
$id = $user->id;
return $id;

axios报500错误

7年前 评论
leo

@respect 报 500 错误的原因有很多,不要乱甩锅。
学会看报错,不然你永远只能找别人帮忙。

7年前 评论

@leo 找到了。。谢谢。

没有添加$fillable

7年前 评论
mouyong

@leo 谢谢 :)

7年前 评论

@蜗牛 我有个疑问 为啥这种 save之后 ->id的写法 文档里面找不到用法呢

6年前 评论
mouyong

@changqianqian save 是保存到数据库。保存完成后,$user 会新增 id 这个属性,并赋上了保存的 id. 然后可以直接取值 详见:

\Illuminate\Database\EloquentModel@save : $saved = $this->performInsert($query)

\Illuminate\Database\EloquentModel@performInsert : $this->insertAndSetId($query, $attributes)
6年前 评论

@蜗牛 谢谢,谢谢您。一般数据库的文档上没有写的,我们一般可以在哪里找到呢,框架里的vender?,正确的姿势是什么样的呢

6年前 评论
mouyong

@changqianqian 学会查源码。有着 get_class debug_backtrace var_dump 等很多调试用的函数可以用。虽然我一般是先各种搜索后才会去查源码

6年前 评论

@蜗牛 感谢,这个回复有效地帮助了我

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!