我正在使用 Yii php ,并且无法找到包含主键数组的记录。
我知道:
$idArray = array(1,2,3);
$model = SomeModel::model()->findAllByPk($idArray);
上面的代码有效。但是我想知道如何在 CdbCriteria 中进行操作,因为我仍然有其他条件要添加,我在典型的find()方法中无法做到。
如何在CdbCriteria中使用主键搜索记录?
--------------被修改---------------------------
我需要使用我检索的模型创建一个CActiveDataProvider。
return new CActiveDataProvider($model,array(
'criteria'=>$criteria,
));
遗憾的是上面不起作用。下面的作品。
return new CActiveDataProvider('SomeModel',array(
'criteria'=>$criteria,
));
答案 0 :(得分:1)
试试这个
$idArray = array(1,2,3);
$criteria = new CDbCriteria;
$criteria->condition = "CONDITION_HERE";
$model = SomeModel::model()->findAllByPk($idArray , $criteria);
答案 1 :(得分:1)
给定阵列
$ idArray = array(1,2,3);
你可以这样写。
$dataProvider=new CActiveDataProvider('Mymodel',array(
'criteria'=>array(
'condition'=>'id IN ('$idArray[0].',' .$idArray[1].','.$idArray[2].')',
'order'=>'id DESC',
),