我在Yii写了我自己的小管理脚本。在localhost上制作和测试,工作正常。
现在,当我将文件传输到托管环境时,我收到的错误如下:
'The table `News` for active record class `News` cannot be found in the database.'
碰巧,因为Yii正在寻找'新闻'表,而在数据库中只有一个较低的news
表。
我认为MySQL中有一些设置可以使我的数据库表区分大小写。无论如何,我无法更改这些设置,因为我没有服务器。
Yii从类名继承表名,有没有办法改变它?就像为一些变量分配一些新的表名?无法找到解决方案。
由于
答案 0 :(得分:2)
你的表名都应该是小写的,因为如上所述,Unix和Windows的行为不同。
但是你的所有模型tableName()
都有一种方法。您可以在此处指定模型应使用的表名称:
public function tableName()
{
return 'news';
}
答案 1 :(得分:1)
您应该将表名保持为小写。因为在Windows中,表的区分大小写永远不会改变。一旦你将脚本放在Linux中,它就会将所有内容改为小写。每个主机都可能是Linux服务器......所以请记住它。