Условие поиска 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))
11
задан Joshua 13 August 2012 в 10:03
поделиться