CakePHPのfindでのBETWEEN

Page content

6/4にCakePHPの1.2RC1が出ましたが、そこでBETWEENの挙動が変更になったのでメモ。

以前は

$conditions = array(
    'Model.field' => 'BETWEEN ' . $start . ' AND ' . $end
);

でBETWEENができましたが、RC1ではANDの両側にクォーテーションマークが付かなくなって、上記のコードではエラーがでます。そこで以下のコードでうまくいきます。

$conditions = array(
    'Model.field >=' => $start,
    'Model.field <=' => $end
);

ちょっとハマったので気をつけましょう。

CakePHP 1.2 RC1からfindの条件指定方法が変更となった - Technote - by sizuhikoにて詳しい解説がありました。「?」がコツのようです。