访问CakePhp 2.2.3中的userModel

时间:2012-11-13 00:16:34

标签: cakephp-2.2

我正在从Cake 1.3升级到最新的Cake 2。

我曾经从App Component访问用户模型:

$this->Auth->userModel->

然而,那个领域不再存在了。

有替代方案吗?

我也试过

App::uses('User', 'Model');
$user = new User();

但我收到了错误

Class 'AppModel' not found

访问用户模型的其他方法是什么?

1 个答案:

答案 0 :(得分:1)

访问用户(或任何)模型到底想要做什么?

如果在Controller中,您可以使用控制器的$uses变量添加模型:

public $uses = array('User');

您还可以通过“跳过模型关联”来访问任何模型。例如,如果您在UsersController并且希望使用Costume模型,其中User hasMany CostumeCostume不在控制器的$uses属性中,那么能做到:

$this->User->Costume->find();

模型关联的存在是强制性的,否则它将不起作用。这是可能的,因为用户模型与其任何相关模型具有内部关联。

由于组件包装控制器你也应该能够在那里执行此操作,或者应该有一个可以调用的控制器的引用:User->Costume->find();但是在Component你最好通过来自Controller的数据,而不是试图从中调用模型。