当前位置: 首页 > 后端技术 > PHP

thinkphp6使用问题记录

时间:2023-03-29 16:29:33 PHP

这篇文章记录了一些使用tp6看得眼花缭乱的问题。今天在使用事务的时候,需要写多张表。其中有一张表的uuid写不进去,其他表却写成功了,一度让我怀疑人生。怀疑是我的使用方式有问题,于是换了三种使用事务的方法,但是save()总是返回true,但是没有更新数据库成功。沉默几分钟后,我决定开启xdebug。让我把我的配置protected$schema放在第一位;此模型属性不包含我需要更新的字段protected$updateTime='updatetime';自动时间戳在我的stud之后发现了一个问题,让我把它放在调用过程中$memberModel=newMember();$members=$memberModel->find(1);$成员->uuid='666';$成员->保存();下面是save()save()updateData()执行的调用链这是真正的update方法checkAllowFields()这里检测字段是否允许写入update()最后到达这个方法,我需要的字段修改仍然存在parseData()数据分析函数,在这个方法找出我需要更新的字段之后。剩下需要更新的字段就是自动时间戳最终生成的SQLUPDATEts_memberSETupdatetime=1678016650,所以事务和更新都没有问题。只需删除$schema属性,或将此字段添加到属性中。那么为什么我不直接进入SQL日志呢?某人!!!感觉这应该提醒你$schema属性中没有uuid字段。这样我也不必调试代码。续:仔细考虑,确实是自己使用的问题。这不是orm设计的问题。