laravel save()不能执行_消失的Pivot模型ID(Laravel踩坑日记)

在升级 Laravel 从 5.6 到 5.8 后,遇到 `save()` 方法无法返回 Pivot 模型 ID 的问题,导致 SQL 错误。经过源码分析,发现在 Laravel 5.8 中,Pivot 类的 `incrementing` 默认设置为 false,从而不再自动设置插入后的主键 ID。修复方案是在每个 Pivot 类中手动设置 `incrementing` 为 true,以确保 ID 的正常获取。这次经历提醒我们在版本升级时需重视单元测试和兼容性测试,确保项目质量。
摘要由CSDN通过智能技术生成
fb55076bab04177404d3a1a0247e536a.png

php中文网最新课程

每日17点准时技术干货分享

4efd48f773e8944b759670eec8c0fc2d.png

2b9e96001d6357d948a63913e5af205b.gif

前因

最近公司后端项目进行了改造升级,由之前的laravel5.6版本升级到了laravel5.8版本,升级后系统产生了不少SQL执行错误,但是在老版本系统运行的好好的,于是就产生了今日的扒坑之旅。

项目环境

老系统(linux + laravel5.6 + php7.2 + mysql5.7)升级后新系统(linux +laravel5.8 + php7.2 + mysql5.7)

只单纯升级了laravel框架版本,并无升级其他相关服务依赖.

但是却出现大量的SQL执行错误,异常监控如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值