我正在从Cake 1.3升级到最新的Cake 2。
我曾经从App Component访问用户模型:
$this->Auth->userModel->
然而,那个领域不再存在了。
有替代方案吗?
我也试过
App::uses('User', 'Model');
$user = new User();
但我收到了错误
Class 'AppModel' not found
访问用户模型的其他方法是什么?
答案 0 :(得分:1)
访问用户(或任何)模型到底想要做什么?
如果在Controller中,您可以使用控制器的$uses
变量添加模型:
public $uses = array('User');
您还可以通过“跳过模型关联”来访问任何模型。例如,如果您在UsersController
并且希望使用Costume
模型,其中User hasMany Costume
和Costume
不在控制器的$uses
属性中,那么能做到:
$this->User->Costume->find();
模型关联的存在是强制性的,否则它将不起作用。这是可能的,因为用户模型与其任何相关模型具有内部关联。
由于组件包装控制器你也应该能够在那里执行此操作,或者应该有一个可以调用的控制器的引用:User->Costume->find();
但是在Component
你最好通过来自Controller
的数据,而不是试图从中调用模型。