別のコントローラ(イベントコントローラ)のユーザコントローラの動作である "getpoll"を使いたいです。cakephpの別のコントローラでControllerアクションを呼び出す方法は?
どうすれば使用できますか?事前に
おかげで...すべてに...
別のコントローラ(イベントコントローラ)のユーザコントローラの動作である "getpoll"を使いたいです。cakephpの別のコントローラでControllerアクションを呼び出す方法は?
どうすれば使用できますか?事前に
おかげで...すべてに...
あなたは投票モデル、あなただけの世論調査をつかむために$this->User->Poll->getPolls()
を呼び出すことができ、そして関連が設定されている場合は、ユーザーのコントローラでその方法のメソッドとしてgetPoll()
行動のDBクエリを記述する必要がありますイベントコントローラから$this->Event->Poll->getPolls()
を正しく入力してください。
public function getPoll($userId = null) {
return $this->find('all', array(..));
}
あなたは、コントローラのrequestActionをメソッドを使用することができます。
$this->requestAction('/comments/latest');
あなたが詳細については、ニーズに応じて異なるそれを呼び出すことができますが、リンクを探してください:
クックブックへのリンク:Controller requestAction Method
requestActionはこれと同じように単純に使用しないでください。適切なアドバイスはgetPollメソッドをuser * model *に置くことです。 – Dunhamzzz
あなたはコンポーネントとコントローラ間のコードの共通部分を共有することができます。
料理の状態:あなたの世論調査モデルで例えば
でrequestActionは、パフォーマンスの低下につながることができキャッシングせずに使用した場合。コントローラやモデルで使用することはほとんどありません。 http://book.cakephp.org/2.0/en/controllers.html
そしてthisポスト
異なる、より良いアプローチを示し、このアクションは、ビューを持っていますか? – 8vius
[CakePHP 2.3.8:CronController.phpの別のコントローラ関数を呼び出す]の重複可能性(http://stackoverflow.com/questions/19344988/cakephp-2-3-8-calling-another-controller-function-in- croncontroller-php) –