thinkphp3.2.2升级3.2.3后 Base table or view not found: 1146解决办法

在没升级前如果thinkphp中没有对应的数据表,直接定义模型就可以了,用D方法实例化就可以了,不过最近tp升级到3.2.3后出现问题提示错误:SQLSTATE[42S02]: Base table or view not found: 1146 Table 'gudong365.gd_weixin' doesn't exist  我确实没有创建gd_weixin这张表,但是模型是这样定义的:WeixinModel

搜索了下官方网站,也有人问过这个问题,官方这样回复:【关闭调试模式应该就没有了,模型类没有对应的数据表的话 最好设置为虚拟模型】这样的回答对我这样的小白来说模棱两可,关闭调试模式是很好关闭,最好设置为虚拟模型,幸好还有手册,搜索了下:原来有这个虚拟模型,以前根本木有用过……

虚拟模型是指虽然是模型类,但并不会真正的操作数据库的模型。有些时候,我们建立模型类但又不需要进行数据库操作,仅仅是借助模型类来封装一些业务逻辑,那么可以借助虚拟模型来完成。虚拟模型不会自动连接数据库,因此也不会自动检测数据表和字段信息,有两种方式可以定义虚拟模型:

所以如果定义的模型没有对应的数据表,只要这样就搞定了:

protected $autoCheckFields =false;  (这里就是官方说的【最好设置为虚拟模型】

这样的话就运行成功啦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值