test011 2015-04-28 11:13:29 5695次浏览 1条回复 0 0 0

情况: win + mysql 以前好好的,今天打开就提示了一大页奇怪的错误,具体如下: 检查过数据库,数据库链接正常,使用mysql_connect、mysql_query 都可显示数据,求助!!!

错误信息:

CDbException

数据库中无法找到 active record class "Operator" 对应的 table "gweb_sys_operator". 

文件:framework\db\ar\CActiveRecord.php(2362)

代码如下:

public function __construct($model)
2357     {
2358         $this->_modelClassName=get_class($model);
2359 
2360         $tableName=$model->tableName();
2361         if(($table=$model->getDbConnection()->getSchema()->getTable($tableName))===null)
2362             throw new CDbException(Yii::t('yii','The table "{table}" for active record class "{class}" cannot be found in the database.',
2363                 array('{class}'=>$this->_modelClassName,'{table}'=>$tableName)));
......

我一步步的打印,结果是:

$tableName 是有结果的,其值就是:gweb_sys_operator

$model->getDbConnection()->getSchema() 也是有结果的,一个对象。

$model->getDbConnection()->getSchema()->getTable($tableName) 这里就没有结果了,奇怪。

请高手帮忙看下,谢谢,十分感激。

  • 回复于 2015-04-28 11:19 举报

    需要补充一下的是 gweb_sys_operator 这个表其实是存在的。

您需要登录后才可以回复。登录 | 立即注册