问题描述
|
如何在内部使用
doSearch()
函数获得Search
控制器以在Titles
控制器中调用getTitles()
函数?
解决方法
简短的答案是,您不应该这样做。您应该将其移至Title模型,或者将其放入组件或帮助程序中以进行重用。
如果您确定要直接调用控制器,Cake确实为此提供了一种方法
http://book.cakephp.org/2.0/en/controllers.html#Controller::requestAction
, 没有理由去另一个控制器。
控制器应该主要从模型调用方法。因此应该有一个包含所需方法的标题模型。
如果需要更多帮助,请发布代码。
, 因此,答案是:
$this->requestAction(\'/controller/action/params\');
, 使您想重用组件的功能并不总是像Cakephp一样运作良好,不能引入Models和find()以及set-> $ this等。另一种方法是使核心功能成为核心功能,然后返回$结果,调用此功能,例如$ results = $ this-> function_within_controller();。因此您可以通过这种方式重用该功能。有时在尝试使用组件时会遇到错误的错误,在Cakephp中,组件很适合使用独立的php脚本和代码。