Edited at

複数の範囲を BETWEEN で抽出する時、こんなベタなテクニックが必要ですか?

More than 5 years have passed since last update.

Hoge モデルから find する時、複数の範囲を BETWEEN で抽出したい時が

あります。サンプルを添付します。

しかし、PHP の連想配列としてみると、'Hoge.time BETWEEN ? AND ?' は

複数存在することになるため、一方が削られます。そのため私はいつも上

のように、後者の最後にスペースを入れて削られないようにしています。

他に良い方法はありますか?

$condition = array("OR" => array(

'Hoge.time BETWEEN ? AND ?' => array(8888, 9999),
'Hoge.time BETWEEN ? AND ? ' => array(0000, 1111)));
$this->Hoge->find('all', array('conditions' => $condition));