うめぼしジョイスティック - ivoice

CakePHP、JavaScript、jQuery等のプログラミングについて書いていきます 思考は、うめぼしのように硬く、そして柔らかく。

CakePHP2系でidの範囲を指定してデータを取り出す方法

タイトルそのままです。

idの範囲を指定して、データをfindで取り出します。

$box

にデータを入れるとして、

データのモデルの名前はModelとしましょう。

例えば、id が100から200までのデータを$boxに入れたい場合は、

$box = $this->Model->find('all', array(
                       'conditions' =>
                           array('Model.id BETWEEN ? AND ?' => array(100,200))
                         ));


var_dump($box);

このようにして取り出せます。 BETWEEN ? AND ?の部分が肝です。 これはSQLのBETWEEN文で、「?から?までの間のデータ」という意味です。

?の表記はCakePHP独自のもののようですが、そのあとのarray(100,200)で数を指定しているので、 「100から200まで」と指定していることが分かりますね。

100,200の部分は変数にすることも可能です。

データを取得する — CakePHP Cookbook 2.x ドキュメント CakePHPの公式チュートリアルにも説明があるので確認してみましょう。