様々なTips独自のfindを定義するfindMethods開発環境:CakePHP2.5.1findをより便利に、よりスッキリ書くのに、findMethodsを使う方法があります。findMethodsの基本的な使い方を見ていきましょう。コントローラーの設定まずはコントローラーの設定ですが、こちらは通常とほとんど変わりありません。$this->Sample->find('samplelist');$this->set(compact('data'));}}一つ違う点は、find内のパラメータがallやfirstではなく、独自のsamplelistを指定しています。次にモデルの設定です。$results;}}findMethodsでコントローラーで指定したsamplelistをtrueで設定します。そのsamplelistをキャメルケースにしたものに、_findを付けた関数を上記のように準備します。この関数は、2度呼び出され、1度目はstateにbeforeが指定され、queryに各種条件が入ってきます。上記のように分岐させて、queryに条件を追加して書くことで、コントローラーにゴチャゴチャ書かずにModelで一括して書くことができます。2回目にこの関数が呼び出される時に、結果がresultsに帰ってくるので、上記ではそのままreturnさせていますが、戻り値に対して何らかの処理を加える事もできます。findMethodsを使ってページネーションを使うfindMethodsを使ってページ送りを実装したい場合は、コントローラーの部分を通常のpaginateメソッドを使って呼び出してあげるだけで実現できます。WEBシステム屋(SE・プログラマ)。CakePHPを利用して日々開発中。CakePHPをこれから始める方、ある程度CakePHPで開発をしている初級〜中級者の方を対象に、CakePHPでの開発をスピードアップするための情報をまとめています。CakePHPの案件のご依頼、御見積はこちらへご連絡ください。ENTRYWordPressとCakePHPの共存サイトを作るのに便利なWordPress。通常、テーブルを連結してデータを取得するには、アソシエーションを利用しデータを取得するデータを取得したい時に少し変わった条件で取得したい場合があります。