CakePHP найти условие для запроса между двумя датами
У меня есть дата начала и окончания в моей базе данных и переменная $ date из поля формы. Я сейчас пытаюсь запросить все строки, где $ date это либо = начальная / конечная дата в БД, либо ЛЮБАЯ дата между этими двумя.
Это своего рода противоположность тому, что описано в документах о том, как работает 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))