这是我的工作代码,没有IN子句条件-
$dataProvider = new CActiveDataProvider('UserInfo',
array('id'=>'user-detail',
'sort'=>array('defaultOrder'=>'id DESC',
'attributes'=>array('id', 'fname', 'lname', 'city')
),
'criteria' => array(
'condition' => 'Staus=:Staus',
'params' => array(':Staus' => 1),
),
'pagination'=>array
(
'pageSize'=>10)
)
);
现在我也想在条件中使用IN子句,如何使用呢?我试着这样做,但得到错误-数组到字符串转换
'criteria' => array(
'condition' => 'Staus=:Staus, id=:id',
'params' => array(':Staus' => 1, ':id' => array(1,4,10,15,20)),
),
请帮我解决我的问题,提前谢谢!
你可以这样做
$criteria=new CDbCriteria();
$criteria->compare('Staus',1);
$criteria->addInCondition('id',array(1,4,10,15,20));
$dataProvider = new CActiveDataProvider('UserInfo',
array('id'=>'user-detail',
'sort'=>array('defaultOrder'=>'id DESC',
'attributes'=>array('id', 'fname', 'lname', 'city')
),
'criteria' => $criteria,
'pagination'=>array
(
'pageSize'=>10)
)
);
[已关闭]我从Yii论坛得到答案-
$criteria = new CDbCriteria();
$criteria->addColumnCondition(array('Staus'=>1));
$criteria->addInCondition('id', array(1,4,10,15,20));
$dataProvider = new CActiveDataProvider('UserInfo', array(
'criteria'=>$criteria,
...
));
它非常适合我:)。。
提供-Yii论坛