0

实际上,我想满足这个 sql 要求:

... 其中 (type_id = 6 OR type_id = 8) 和状态 = 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
                                )                             
                         )
                          
                ),
        );

编辑:在这种情况下不能使用第二个版本,因为现在 OR 数组有两个具有相同键的元素,并且只会检查最后一个 (8)

[NB] 如果我犯了一些语法错误,请见谅 :)

于 2012-11-07T22:23:26.370 回答