ThinkPHP5.0报错:Base table or view not found: 1146 Table 'stimmer.menublock' doesn't exist

问题描述

SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘stimmer.menublock’ doesn’t exist

出现这总情况呢,一般是某某数据表没有找到。但是有时候把我们明明实例化了模型,但就是提示表没有找到。出现这种情况一般是模型没有数据表对应起来。

那么是什么问题导致的呢?

解决办法:

这是因为Model命名不规范导致的问题。
把Model文件的名字改为:UserType.php,类名改成:UserType,即可解决该问题

ThinkPHP5.0的文档中有这样的描述:

模型会自动对应数据表,模型类的命名规则是除去表前缀的数据表名称,采用驼峰法命名,并且首字母大写,例如:

模型名 约定对应数据表(假设数据库的前缀定义是 think_)
User think_user
UserType think_user_type

如果数据表没有前缀,和上面的命名方式也是相同的

模型名 约定对应数据表
User user
UserType user_type

如果Model的命名规范的话就不会出现上面的问题(你也可以认为模型名除了第一个大写字母之外,其他的大写字母可以看成一个"_"+这个字母)

你可能感兴趣的:(PHP,ThinkPHP,Base,table,or,view,not,found,1146,table,doesn't,exist,thinkphp,thinkphp5)