Cakephp从其他控制器请求数据

时间:2010-05-20 12:37:38

标签: php cakephp controllers

是否可以从cakePHP中的其他控制器请求数据?

例如,我在名为search and update(两者都带有index.ctp)的页面中创建了2个文件夹,并在正确的文件夹中创建了一个控制器和模型。

两个页面都使用不同的数据库源,我想将搜索控制器中的一些数据显示到更新页面的视图中。

这可能吗?

此致 SWEN

1 个答案:

答案 0 :(得分:0)

根据MVC / CakePHP的原则提供支持可能会有所帮助。

通常,您的控制器应处理请求的所有方面 - 调度,收集数据等。模型是数据层的控制点。而且,显然,您的视图是实际的显示逻辑和输出。

如果您在另一个控制器中发生了一些数据操作,我建议您将这些方法迁移到相关的数据模型中。这更适合Cake中的关注点分离模型。但是,您可以将其他模型添加到第二个控制器中的$ uses变量,这样您就可以访问其中的所有方法。

关于$使用的一个注意事项:确保包括外部(其他)模型以及当前模型。假设您在OrangeController中并且想要包含Apple模型,那么(在OrangeController定义中):

class OrangeController extends AppController {
 var $uses = array( 'Orange', 'Apple' );
 // other stuff
}