Here is my working code, without IN clause conditions -
$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)
)
);
Now i also want to use IN clause in the condition, how can use?
I’m trying like this, but getting error - Array to string conversion
'criteria' => array(
'condition' => 'Staus=:Staus, id=:id',
'params' => array(':Staus' => 1, ':id' => array(1,4,10,15,20)),
),
Please help me to resolve my issue, thanks in advance!
Keith
(Kburton)
September 11, 2014, 11:46am
2
Something like this:
$criteria = new CDbCriteria();
$criteria->addColumnCondition(array('Staus'=>1));
$criteria->addInCondition('id', array(1,4,10,15,20));
$dataProvider = new CActiveDataProvider('UserInfo', array(
'criteria'=>$criteria,
...
));
Keith:
Something like this:
$criteria = new CDbCriteria();
$criteria->addColumnCondition(array('Staus'=>1));
$criteria->addInCondition('id', array(1,4,10,15,20));
$dataProvider = new CActiveDataProvider('UserInfo', array(
'criteria'=>$criteria,
...
));
Thanks for the reply but i need in with Cactivedataprovider. Can you tell me how to modify my existing code. because i’m getting an error when i’m trying like this -
'criteria' => array(
'condition' => 'Staus=:Staus, id=:id',
'params' => array(':Staus' => 1, ':id' => array(1,4,10,15,20)),
),
Keith
(Kburton)
September 11, 2014, 11:54am
4
I showed you how in my post.
This will work
$criteria=new CDbCriteria;
$criteria->compare('Staus', array(1,4,10,15,20));
$dataProvider = new CActiveDataProvider('UserInfo', array(
'criteria'=>$criteria,
...
));
+1
Sorry sir, my mistakes its working fine. thanks a lot for your help …