是否可以从cakePHP中的其他控制器请求数据?
例如,我在名为search and update(两者都带有index.ctp)的页面中创建了2个文件夹,并在正确的文件夹中创建了一个控制器和模型。
两个页面都使用不同的数据库源,我想将搜索控制器中的一些数据显示到更新页面的视图中。
这可能吗?
此致 SWEN
答案 0 :(得分:0)
根据MVC / CakePHP的原则提供支持可能会有所帮助。
通常,您的控制器应处理请求的所有方面 - 调度,收集数据等。模型是数据层的控制点。而且,显然,您的视图是实际的显示逻辑和输出。
如果您在另一个控制器中发生了一些数据操作,我建议您将这些方法迁移到相关的数据模型中。这更适合Cake中的关注点分离模型。但是,您可以将其他模型添加到第二个控制器中的$ uses变量,这样您就可以访问其中的所有方法。
关于$使用的一个注意事项:确保包括外部(其他)模型以及当前模型。假设您在OrangeController中并且想要包含Apple模型,那么(在OrangeController定义中):
class OrangeController extends AppController {
var $uses = array( 'Orange', 'Apple' );
// other stuff
}