Como utilizar método de outra controller em cakephp

janeiro 15, 2018 em CakePhp por Sândler

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