【发布时间】:2012-02-21 11:46:34
【问题描述】:
我无法找到有关如何使用不属于当前控制器的模型的信息。
例如:我有一个只向应用程序发送 JSON 数据的 ajax 控制器。该控制器需要根据请求访问不同的模型。
我该怎么做?
【问题讨论】:
我无法找到有关如何使用不属于当前控制器的模型的信息。
例如:我有一个只向应用程序发送 JSON 数据的 ajax 控制器。该控制器需要根据请求访问不同的模型。
我该怎么做?
【问题讨论】:
查看标题为$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');
}
?>
【讨论】:
$uses 会导致性能下降。更好的方法是:
$User = ClassRegistry::init('User');
$User->find(...);
【讨论】:
如果 Recipe 和 User 模型相关,您可以执行以下操作:
$this->Recipe->User->find(....);
【讨论】: