0

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

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

$this->Auth->userModel->

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

有替代方案吗?

我也试过

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

但我得到了错误

Class 'AppModel' not found

访问用户模型的任何替代方法?

4

1 回答 1

1

通过访问用户(或任何)模型,您究竟想做什么?

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

public $uses = array('User');

您还可以通过“跳过模型关联”来访问任何模型。例如,如果您在控制器的属性中并且UsersController希望在控制器的属性中使用Costume模型,您可以执行以下操作:User hasMany CostumeCostume$uses

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

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

由于组件包装了控制器,因此您也应该能够在此处执行此操作,或者应该从您可以调用的地方引用对控制器的引用:User->Costume->find();但是在这种情况下,Component您最好将数据传递给它而Controller不是尝试从中调用模型.

于 2012-11-13T10:06:56.353 回答