首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Laravel ()方法之后无法检索自定义id主键

在Laravel ()方法之后无法检索自定义id主键
EN

Stack Overflow用户
提问于 2018-01-22 07:50:47
回答 2查看 1.1K关注 0票数 2

对于具有int的自动增量id,在save()方法之后,它返回id。

但是它不返回由mysql触发器执行的自定义增量id主键。

代码语言:javascript
复制
$productData = new Product($request->all());
$productData->save($productData->getAttributes());
return $productData->id;

在这种情况下,如何检索自定义标识?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-31 07:44:18

这超出了laravel的范围,因为数据库提供了自动递增字段,而laravel无法从数据库中获取last_insert_id。

在这种情况下,您必须更改触发器,以便它用新值更改last_insert_id

Is there a way to get last inserted id of a NON - auto incremented column in MySQL?

注意:您可能需要确保Model的incrementingtrue,这样它就可以尝试从数据库中获取id。如果您没有在您的模型中设置这个字段,那么就不要设置它。默认情况下,Model能够在插入后自动从数据库中获取值。

票数 0
EN

Stack Overflow用户

发布于 2018-01-22 11:13:06

您需要刷新模型实例。为了说明:

代码语言:javascript
复制
$p = (new Product($request->all()))->save();
return $p->fresh()->id;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48376840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档