データベースに開始日と終了日があり、フォーム フィールドに $date 変数があります。私は現在、$date がデータベースの開始日/終了日、またはこれら 2 つの間の任意の日付であるすべての行をクエリしようとしています。
これは、daysAsSql のしくみに関するドキュメントで説明されていることとは正反対です。それを機能させる方法がわかりません。次の行は、コントローラーの検索条件として機能しません。
'? BETWEEN ? AND ?' => array($date, 'Item.date_start', 'Item.date_end'),
どんな助けでも大歓迎です。これは私を夢中にさせています。
完全なクエリと対応する SQL は次のとおりです。
$conditions = array(
'conditions' => array(
'and' => array(
'? BETWEEN ? AND ?' => array($date, 'Item.date_start', 'Item.date_end'),
'Item.title LIKE' => "%$title%",
'Item.status_id =' => '1'
)));
$this->set('items', $this->Item->find('all', $conditions));
WHERE (('2012-10-06' BETWEEN 'Item.date_start' AND 'Item.date_end') AND (`Item`.`title` LIKE '%%') AND (`Item`.`status_id` = 1))