php - Laravel save() 方法后无法检索自定义 id 主键

标签 php mysql laravel-5

自增 id 为 int,save() 方法后返回 id。

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

$productData = new Product($request->all());
$productData->save($productData->getAttributes());
return $productData->id;

在这种情况下如何检索自定义 ID?

最佳答案

这超出了 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?

注意:您可能需要确保模型的 incrementingtrue,以便它会尝试从数据库中获取 ID。如果您尚未在您的模型中设置此字段,则不要设置它。默认情况下,模型能够在插入后自动从数据库中获取值。

关于php - Laravel save() 方法后无法检索自定义 id 主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48376840/

相关文章:

php - 简短的唯一 ID 与自定义 ID 混合

php - 如何使用 Office 365 邮箱以编程方式读取和发送加密电子邮件?

php - 为什么不能使用准备好的语句(基于 ALTER TABLE)从 PHP 设置 MySQL 字段的默认值?

mysql - 在前端或后端验证必填字段的正确方法是什么?

javascript - 自动建议文本框

php - laravel 5 将日期和时间插入数据库

php - 尽管在 Laravel 5 中使用唯一验证,但字段重复

php - Symfony - 创建插件需要什么?

java - XML-RPC PHP Java

php - Laravel:选择数据库错误 undefined index 或尝试获取非对象的属性