1

我只是在学习 CakePHP,对于任何明显的错误,我深表歉意。我创建了模型类并更改了默认表名。

class Weathers extends AppModel {    
    public $tablePrefix = 'weather_';
    public $useTable = 'forecasts';

    function saveCountries($countries){
         ...
    }
}

还有我的控制器功能

if (!$this->loadModel('Weather'))
   exit;
$Weather = $this->Weather;
$Weather->saveCountries($countries);

我在$Weather->saveCountries($countries)上遇到错误;

错误:在数据源默认值中未找到模型 Weather 的表天气。

请帮助找出我做错了什么。

4

2 回答 2

1

您定义的 Model 类Weathers不是Weather. 所以只需更改类名Weather而不是Weathers就完成了。

于 2012-08-10T02:10:45.383 回答
1

请注意您的模型类的声明。

你已经调用它了Weathers

这没有问题。但是,当您尝试加载模型Weather时(在这种情况下不是缺少复数)CakePHP 正在为您动态构建模型,而不是使用您的Weathers(复数)类。

CakePHP 标准是为模型使用单数名称。我建议您重命名模型类Weather以避免此问题。进行此更改后,用于加载模型的代码将按预期工作。

于 2012-08-10T10:22:07.097 回答