我在AppController
或RecipesController
中添加了以下代码,以查看loadModel
的返回值。根据{{3}},当找到单个模型并创建实例时,它应该返回true。
但是,即使1
不存在,我也true
我将其视为safasfasfafafafas
。
$this->log($this->loadModel('safasfasfafafafas')); // random string
$this->log($this->loadModel('Recipe')); // exist in my model
我对cakephp很新,我可以知道我错过了哪里吗?
答案 0 :(得分:0)
文档不正确,请参考更新的版本,并查看源代码,因为即使最新的文档也不是非常正确(或者说它们会误导)。
可以看出,loadModel()
将始终返回true,用于实际加载模型的ClassRegistry::init()
将使用AppModel
的实例,以防实际请求的模型不存在,因此只有在找不到该类时才会抛出异常。
另请参阅 http://book.cakephp.org/2.0/en/models.html#understanding-models
另请注意,模型在实例化时不会尝试访问该表,因此只有在您实际尝试使用该模型时才会抛出可能丢失的表异常,例如用于查询记录。