如何加载非默认模型?

时间:2014-08-11 23:27:56

标签: cakephp cakephp-3.0

在CakePHP2.x中,我经常在控制器中使用$uses属性,但似乎CakePHP 3.0中不再提供此属性。

我知道加载非默认模型的唯一方法是使用loadModel()方法。 这是推荐的加载模型的方法吗?或者还有其他方法来加载模型吗?

1 个答案:

答案 0 :(得分:16)

您的观察结果是正确的,不再有$uses属性,而是与控制器不匹配的模型/表格(PostsTable的{​​{1}}除外)并且无法通过关联获得,必须明确加载。

这可以通过使用

来完成

所以这对你的问题PostsController来说是肯定的,即

Controller::loadModel()

是一种可行的方式,可以将模型/表格实例添加到控制器中作为属性,至少在默认配置中,它实际上是以下的简写:

$this->loadModel('Name');

但更多$this->Name = TableRegistry::get('Name'); 更抽象,并支持非表存储库。