这是我的工作代码,没有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)),
),
请提前帮助我解决我的问题!
答案 0 :(得分:1)
你可以这样做
$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)
)
);
答案 1 :(得分:0)
<强> [关闭] 强>
我从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 forum