CakePHP находит условия генерации SQL "ГДЕ ... И 1" - PullRequest
0 голосов
/ 13 июня 2011

Вот мой код:

    $attendances = $this->Pupil->Attendance->find('all',
        array(
            'conditions'=>array(
                'Pupil.group_id'=>$group,
                'Attendance.date' >= $start,
                'Attendance.date' <= $end
                )
            )
        )
    );

Вот генерируемый SQL:

SELECT [many different fields from a few tables] WHERE `Pupil`.`group_id` = 7 AND 1

Значение $ start - 2011-06-06, а end - 2011-06-10 (проверено с помощью debug () в представлении).

Почему Cake генерирует условие «И 1» и пропускает мои условия?

Спасибо за чтение!

1 Ответ

1 голос
/ 13 июня 2011

Хорошо, я сегодня очень медленный и извиняюсь за оскорбление интеллекта каждого.

Проблема, конечно, в том, что> = и <= не заключены в кавычки.Правильный код для тех, у кого такой же момент смерти, - </p>

    $attendances = $this->Pupil->Attendance->find('all',
        array(
            'conditions'=>array(
                'Pupil.group_id'=>$group,
                'AND'=>array(
                    'Attendance.date >=' => $start,
                    'Attendance.date <=' => $end
                )
            )
        )
    );
...