Como utilizar método de outra controller em cakephp
Para carregar outra controller ou fazer a chamada dela, vocÊ pode utlizar o requestAction.
Exemplo:
echo $this->requestAction( array('controller' => 'articles', 'action' => 'featured'), array('named' => array('limit' => 3)) );
ou
echo $this->requestAction( array('controller' => 'articles', 'action' => 'featured'), array('named' => array('limit' => 3)) ); echo $this->requestAction( array('controller' => 'articles', 'action' => 'view'), array('pass' => array(5)) );
Outra forma é:
App::import(‘Controller’, ‘Posts’);
$post = new PostsController(); $post->myFunction();
Diferente de quando usamos o $this->loadModel(‘Posts’) que irá efetuar execuções para o banco de dados, como o “find” ou “save”.
Referência: https://book.cakephp.org/2.0/en/controllers.html
Referência: https://stackoverflow.com/questions/7902293/how-to-use-methods-from-other-controllers-in-cakephp