loadModel总是返回true

时间:2015-01-05 10:36:41

标签: cakephp cakephp-2.0

我在AppControllerRecipesController中添加了以下代码,以查看loadModel的返回值。根据{{​​3}},当找到单个模型并创建实例时,它应该返回true。

但是,即使1不存在,我也true我将其视为safasfasfafafafas

$this->log($this->loadModel('safasfasfafafafas'));   // random string
$this->log($this->loadModel('Recipe'));  // exist in my model

我对cakephp很新,我可以知道我错过了哪里吗?

1 个答案:

答案 0 :(得分:0)

文档不正确,请参考更新的版本,并查看源代码,因为即使最新的文档也不是非常正确(或者说它们会误导)。

可以看出,loadModel()将始终返回true,用于实际加载模型的ClassRegistry::init()将使用AppModel的实例,以防实际请求的模型不存在,因此只有在找不到该类时才会抛出异常。

另请参阅 http://book.cakephp.org/2.0/en/models.html#understanding-models

另请注意,模型在实例化时不会尝试访问该表,因此只有在您实际尝试使用该模型时才会抛出可能丢失的表异常,例如用于查询记录。