错误:SQLSTATE [42S02]:找不到基表或视图

时间:2012-10-16 00:15:18

标签: cakephp cakephp-2.2

我正在使用CakePHP版本2.2.3。将我的数据库导入PHPMyAdmin后,我继续创建我的MVC唱歌CakePHP的烘焙控制台。一切顺利,我宣布了我的人际关系等......

创建最后一个'视图'时会出现问题(所有模型/控制器都是在没有错误的情况下创建的)。

完整错误是:错误:SQLSTATE [42S02]:找不到基表或视图:1146表'website.connections'不存在

我可以确认它确实存在,包括表格,控制器,模型和视图!

我非常困惑,任何帮助都会非常感激。

非常感谢提前。

更新

在“成员”模型上,在注释掉与“连接”相关的“有很多”代码时,会出现下面一个关系的错误。关系代码是:

public $hasMany = array(
    'Connections' => array(
        'className' => 'Connections',
        'foreignKey' => 'Member_ID',
        'dependent' => false,
        'conditions' => '',
        'fields' => '',
        'order' => '',
        'limit' => '',
        'offset' => '',
        'exclusive' => '',
        'finderQuery' => '',
        'counterQuery' => ''
    ),
    'Recommendations' => array(
        'className' => 'Recommendations',
        'foreignKey' => 'Member_Being_Recommended_ID',
        'dependent' => false,
        'conditions' => '',
        'fields' => '',
        'order' => '',
        'limit' => '',
        'offset' => '',
        'exclusive' => '',
        'finderQuery' => '',
        'counterQuery' => ''
    ),
    'Groups' => array(
        'className' => 'Groups',
        'foreignKey' => 'Member_ID',
        'dependent' => false,
        'conditions' => '',
        'fields' => '',
        'order' => '',
        'limit' => '',
        'offset' => '',
        'exclusive' => '',
        'finderQuery' => '',
        'counterQuery' => ''
    )
);

因此,一旦“连接”关系被注释掉,错误就会转移到推荐标准下面。

2 个答案:

答案 0 :(得分:5)

根据CakePHP的conventions所有模型名称应该是单数而不是复数,所以这是你应该修复的第一件事。

答案 1 :(得分:0)

很抱歉听起来很重复,但是您收到此错误,因为在您的应用所连接的数据库中找不到表格(website.connections)。

以下提示可帮助您解决此问题:

  1. 使用PHPMyAdmin验证表(连接)是否存在以及它是否在数据库(网站)中。如果您使用共享主机,则您的数据库名称可能具有您无法控制的前缀(即yourusername_website)。

  2. 确保您已连接到正确的数据库(config docs)。

  3. 如果您有一个名为Connection的模型不使用表,请确保向其添加public $useTable = false;