0

実際、私はこのSQL要件を満たしたいです:

... どこで (type_id = 6 OR type_id = 8) および status = 2 ....

しかし、$paginate で条件を設定する方法がわかりません。

var $paginate = array(
        'Student'=>array(
                    'limit' => 10,
                    'fields'=>array('Student.id','Student.firstname','Student.lastname'),
                    'order' =>array('Student.id'=>'desc'),
                    'conditions' => ?,
                ),
        );  

条件を設定する方法を知っている人はいますか?

4

1 に答える 1

2

このサイトhttp://book.cakephp.org/1.3/view/1030/Complex-Find-Conditionsに基づいています (最後のリリースではありませんが、試してみてください)

var $paginate = array(
        'Student'=>array(
                    'limit' => 10,
                    'fields'=>array('Student.id','Student.firstname','Student.lastname'),
                    'order' =>array('Student.id'=>'desc'),
                    'conditions' => array(
                         'Student.type_id' => array(6, 8),
                         'Student.status' => 2
                         )
                          
                ),
        );

また

var $paginate = array(
        'Student'=>array(
                    'limit' => 10,
                    'fields'=>array('Student.id','Student.firstname','Student.lastname'),
                    'order' =>array('Student.id'=>'desc'),
                    'conditions' => array(
                          'Student.status' => 2,
                          "OR" => array (
                               'Student.type_id' => 6,
                               'Student.type_id' => 8
                                )                             
                         )
                          
                ),
        );

編集: この 2 番目のバージョンは、この状況では使用できません。これは、OR 配列に同じキーを持つ 2 つの要素があり、最後の (8) のみをチェックするためです。

[NB] 構文エラーがありましたらすみません:)

于 2012-11-07T22:23:26.370 に答える