如何从CakePHP中的其他控制器访问非子模型?

时间:2009-06-28 04:14:40

标签: cakephp models

我无法找到有关如何使用不属于当前控制器的模型的信息。

例如:我有一个ajax控制器,它只向应用程序发送JSON数据。该控制器需要根据请求访问不同的型号。

我该怎么做?

3 个答案:

答案 0 :(得分:3)

查看标题为$components, $helpers and $uses的手册部分,您正在寻找$uses

<?php
class RecipesController extends AppController {
var $name = 'Recipes';
var $uses = array('Recipe', 'User'); // both models will be available
var $helpers = array('Ajax');
var $components = array('Email');
}
?>

答案 1 :(得分:2)

$ uses会导致性能下降。更好的方法是:

$User = ClassRegistry::init('User');
$User->find(...);

答案 2 :(得分:0)

如果食谱和用户模型相关,您可以执行以下操作:

$this->Recipe->User->find(....);