thinkphp3.2.2升级3.2.3后 Base table or view not found: 1146解决办法
2015-06-08 16:22
561 查看
在没升级前如果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;
(这里就是官方说的【最好设置为虚拟模型】)
这样的话就运行成功啦。
搜索了下官方网站,也有人问过这个问题,官方这样回复:【关闭调试模式应该就没有了,模型类没有对应的数据表的话 最好设置为虚拟模型】这样的回答对我这样的小白来说模棱两可,关闭调试模式是很好关闭,最好设置为虚拟模型,幸好还有手册,搜索了下:原来有这个虚拟模型,以前根本木有用过……
虚拟模型是指虽然是模型类,但并不会真正的操作数据库的模型。有些时候,我们建立模型类但又不需要进行数据库操作,仅仅是借助模型类来封装一些业务逻辑,那么可以借助虚拟模型来完成。虚拟模型不会自动连接数据库,因此也不会自动检测数据表和字段信息,有两种方式可以定义虚拟模型:
所以如果定义的模型没有对应的数据表,只要这样就搞定了:
protected $autoCheckFields =false;
(这里就是官方说的【最好设置为虚拟模型】)
这样的话就运行成功啦。
相关文章推荐
- kindeditor 批量上传 上传失败 thinkphp swfupload session
- IIS 错误 Server Application Error 详细解决方法
- Lua教程(六):编译执行与错误
- 完美解决Persits.Jpeg.1 错误 ''800a0001''
- "在试着设置任务帐户信息时出现错误,指定的错误是:0x80070005:拒绝访问
- Mysql 本地计算机无法启动 mysql 服务 错误 1067:进程意外终止。
- mysql错误处理之ERROR 1665 (HY000)
- C#新手常犯的错误汇总
- php自定义错误处理用法实例
- ThinkPHP关联模型操作实例分析
- thinkphp3.0 模板中函数的使用
- ThinkPHP采用<volist>实现三级循环代码实例
- Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
- 合并ThinkPHP配置文件以消除代码冗余的实现方法
- ThinkPHP中自定义目录结构的设置方法
- 使用PHP的错误处理
- msxml3.dll 错误 '800c0005'解决方案
- asp提示Server 对象 错误 ASP 0178 : 80070005
- asp页面提示Response 对象 错误 ASP 0156 : 80004005 HTTP 头错误
- ADODB连接access是出现 80004005 错误的解决方法