【发布时间】:2012-04-24 16:34:23
【问题描述】:
我目前正在按照“使用 Yii 进行敏捷 Web 应用程序开发” 一书的步骤进行操作,到目前为止,我已经在第 8 章完成了所有工作。但是现在,在我关闭并打开我的笔记本电脑(升级了我笔记本电脑的 RAM),除了 Active Record 找不到数据库表之外,一切似乎都正常工作,不仅在这个 web 应用程序中,而且还尝试了我有旧的功能性和非常简单的演示,当模型类(从 Yii 扩展 CActiveRecord 类)时,它们都没有工作。
我正在使用 XAMPP,在 Mac OS X Lion 10.7.3(2.4GHz Intel Core 2 Duo,8GB RAM MacBook Pro)上使用 MySQL 数据库(运行良好)。 PHPUnit 在重启前也能正常工作。
我已经在我的 main.php 文件中多次检查了我的 'db' 组件,并且 - 我认为 - 一切都很好:
'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=Customer',
'emulatePrepare' => true,
'username' => 'root',
'password' => 'jasalo',
'charset' => 'utf8',
),
也尝试添加
'tablePrefix' => 'tbl_'参数,这是本书在其 web 应用程序中使用的参数(尽管它从不建议这样做,使用 tablePrefix)。
另一方面,当我通过 Yii 执行 简单查询 时,它确实有效(我在一个简单视图上尝试过,关于):
var_dump(Yii::app()->db->createCommand('select * from tbl_user')->queryAll());
这是我得到的结果的一部分(这是正确的):
array(3) { [0]=> array(9) { ["id"]=> string(1) "1" ["email"]=> string(22) "test1@notanaddress.com" ["username"]=> string(13) "Test_User_One" ["password"]=> string(32) "5a105e8b9d40e1329780d62ea2265d8a"...
我什至尝试更改 Yii 上的框架路径,位于 webapp 的 index.php 文件中,我认为可能是另一个。 有什么想法吗?
哦,这是我尝试使用 CActiveRecord 模型(类)时收到的错误消息:
CDbException 在数据库中找不到活动记录类“用户”的表“tbl_user”。【问题讨论】:
-
您的模型的 tableName 方法返回什么?是实际的表名,还是别的什么?