月度归档: 2024 年 6 月
-
在Laravel 9执行数据库迁移修改字段名称及属性时,遇到列名不存在的报错。尝试先修改属性再重命名字段,虽然迁移成功但字段注释未更新。最终方案是直接删除原字段后再重新添加,执行迁移后表结构符合预期。
-
在 Laravel 9 中执行数据库迁移时遇到了 SQLSTATE[HY000] 错误,提示 Incorrect DECIMAL value。将 SQL 语句复制到 Navicat for MySQL 中执行依然报错,检查迁移代码后发现表字段 stock_out_sort 中存在空字符串值。将该空字符串手动修改为具体数值后再次执行迁移,操作成功完成且不再报错。
-
从 Gate.io 提现 USDT 至 OKX 选择 Optimism 网络后,收到邮件提示因充币临时暂停导致资金未到账。查看充币页面发现显示暂停,预计恢复时间从 6 月 19 日延后至 21 日。实际等待至 21 日晚 10 点左右才收到到账邮件,经查 APP 充币记录确认资金已于该时间到账,问题解决。
-
在导出 Excel 时遇到 String exceeds Excel’s limit of 32,767 characters 报错,这是因为 Excel 单元格最多只能存储 32,767 个字符。通过打印日志分析写入数据,发现某个字段的内容长度达到 7 万多个字符,远远超出了 Excel 的字符数限制。解决该问题需要定位并截断或处理过长文本,以符合 Excel 的存储规范。
-
本文在 Laravel 9 中验证了队列任务超时机制的运行情况。作者通过多次测试发现,任务超时功能在 Windows 系统因缺少 pcntl 扩展而无法生效,需在 Linux 环境下运行。实验过程中,使用 sleep() 函数会导致任务卡住且使尝试次数设置失效,相关日志与数据库记录均不符合预期。移除 sleep() 并采用其他方式模拟超时后,配合 $tries、$failOnTimeout 及 $backoff 属性,队列任务的失败与重试行为基本符合逻辑。结论是 sleep() 方法会干扰超时及重试机制的正确执行。
-
本文探讨了 Laravel 9 中队列任务的最大尝试次数验证。通过在任务类中设置不同的 $tries 属性值并进行测试,观察到未设置该属性时默认执行次数为 1。进一步测试表明,将其设置为 0 时会无限次重试,而设置为 5 时则严格按照 5 次执行,前 4 次失败后继续尝试,直到第 5 次失败才最终停止。
-
本文针对当前 Excel 导出进度由前端独立显示且未受后端控制的问题,制定了按实际导出进度展示的调整规则。实施后,后端处理过程分为四个阶段:作业排队时进度保持 0%;实际写入数据时按每 1000 行增加 9.9% 直至 99%;完成格式处理及文件上传后显示 100%;最后前端获取下载链接时不再显示进度。该方案通过细化后端处理步骤实现了进度的准确同步。
-
本文记录了参与 io.net 项目私募的全过程及收益情况。该项目私募价因代币总量下调调整为 0.75U,代币上线交易所后价格为 5.734U。作者通过投入 2500U 的本金计算,最终净收益率达到 6.65 倍。文章最后探讨了通过借贷卖出提前锁定利润,或分批卖出以应对未来币价波动的策略。
-
本文针对 Laravel 9 中存在两组时间字段的验证需求,说明了如何确保 shipping_at_gmt_start、shipping_at_gmt_end 与 operated_at_gmt_start、operated_at_gmt_end 这 4 个字段中必须存在完整的一组。文章介绍了利用 required_without 规则的实现逻辑,即当一组字段的部分或全部缺失时,强制另一组字段必填,从而在两组字段间实现互斥必填的验证效果。
-
本文探讨了在 Laravel 9 中验证两个时间字段跨度不可超过 3 个月的实现方法。文章介绍了使用闭包结合 Carbon 自定义验证规则,将起始时间加上 3 个月后与结束时间进行比较,并处理了起始字段不存在时避免报错的逻辑。最终通过具体的时间参数测试,验证了该规则在 2024 年闰年场景下能够正确判断时间跨度的合规性。
