様々なTipsデータを取得する開発環境:CakePHP2.5.1データを取得したい時に少し変わった条件で取得したい場合があります。それぞれのやり方を見ていきましょう。・findをカスタマイズ同カラムに対してOR条件を指定する同じカラムをOR条件で取得したい場合は、下記のように配列を使って指定します。'40'),),),),);LIKE文であいまい検索LIKE文を使うには次のようにします。'山田%',),);◯以上や◯以下など<を使って検索2,000円以上のデータのみ取得する場合などは次のようにします。特定の値の範囲でデータを取得したい時はbetweenを使用します。太郎)))思ったような戻り値が得られません。fieldsを使います。fieldsを利用します。1カラムのみ取得1つの項目のみ欲しい場合、fieldsパラメータでデータが欲しいカラムを指定することで取得することができますが、もっと簡単に取得するにはfieldメソッドを利用します。$this->User->field('name');findをスッキリさせるfindBy/findAllBy複雑な条件ではない場合、$params変数にあれこれ書くとコードが膨れ上がってしまいます。それを解消するために、1つのデータを取得する場合はfindBy、複数のデータを取得する場合はfindAllByを利用します。$this->Sample->findByFlg(1);これでsamplesテーブルのflgカラムが1のデータ一つが返されます。複数のカラムの条件を付けたい場合はAndでつなぎます。1000);これでsamplesテーブルのflgカラムが1かつpriceが1000のデータ一つが返されます。条件以外にもfieldsやorderも下記の順番で渡すことで反映されます。$order]]);複数のデータを取得する場合のfindAllByも使い方は全く同じで、オプションとして下記の内容が増えます。重複したデータを排除するSQLを書くには、DISTINCTを付けますが、CakePHPでは次のようにfieldsの先頭にそのまま付けるだけでになります。$params);通常のfindであれば上記の方法でいいのですが、ページネーションを利用する場合には注意が必要です。BYを使う」をご覧ください。日付データを持ったカラムで、今年のデータだけを抽出したい場合などは、次のように行います。$params);このようにlike文を使ってもデータは取得できますが、日付の場合はもっと便利な関数が用意されていますので、そちらを利用しまよう。MySQLの場合は、次のようになります。$params);“%Y”の部分は変更することで、月だけで指定したりすることもできます。findをカスタマイズfindを独自にカスタマイズさせたい時や、コントローラーをもっと整理させたい場合に使えるのが、findMethodsです。詳しい使い方は「独自のfindを定義するfindMethods」をご覧ください。WEBシステム屋(SE・プログラマ)。CakePHPを利用して日々開発中。CakePHPをこれから始める方、ある程度CakePHPで開発をしている初級〜中級者の方を対象に、CakePHPでの開発をスピードアップするための情報をまとめています。CakePHPの案件のご依頼、御見積はこちらへご連絡ください。ENTRYWordPressとCakePHPの共存サイトを作るのに便利なWordPress。通常、テーブルを連結してデータを取得するには、アソシエーションを利用しデータを取得するデータを取得したい時に少し変わった条件で取得したい場合があります。