0

これが私のコードです:

    $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が条件「AND1」を生成し、条件を省略しているのはなぜですか?

読んでくれてありがとう!

4

1 に答える 1

1

OK、今日はとても遅いです。みんなの知性を侮辱したことをお詫びします。

もちろん、問題は>=と<=が引用符の中にないことです。

同様に頭がおかしい瞬間を持っている人にとっての正しいコードは、

    $attendances = $this->Pupil->Attendance->find('all',
        array(
            'conditions'=>array(
                'Pupil.group_id'=>$group,
                'AND'=>array(
                    'Attendance.date >=' => $start,
                    'Attendance.date <=' => $end
                )
            )
        )
    );
于 2011-06-13T12:34:41.473 に答える