【CakePHP】モデルにメソッドを追加して実行する
バージョン:CakePHP 2.2.2
CakePHPを使っていると、コントローラに全てのfindを記述してわかりにくくなる場合があります。
そうゆう時はモデルのメソッドを追加して、その中にfindを記述することによって、
コントローラがわかりやすくなることがあると思います。
・findの例(下記をコントローラに書いていた)
$this->モデル名->find('all', array( 'fields' => array('id','iteme1','iteme2','iteme3'), 'conditions' => array( 'item1' => true, 'OR' => array( 'iteme2' => 'aaa', 'iteme3' => 'bbb' ), 'limit' => 10, 'page' => 1, 'order' => array('id') ) );
このfindをモデルにメソッドを作り、コントローラから呼び出す形にします。
・モデル
function findTest($page) { return $this->find('all', array( 'fields' => array('id','iteme1','iteme2','iteme3'), 'conditions' => array( 'item1' => true, 'OR' => array( 'iteme2' => 'aaa', 'iteme3' => 'bbb' ), 'limit' => 10, 'page' => $page, 'order' => array('id') ) ); }
・コントローラ
$page = 2; $this->モデル名->findTest($page);