Yii Php:使用CdbCriteria查找具有主键的记录

时间:2014-02-11 05:44:17

标签: php sql yii primary-key criteria

我正在使用 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,

        ));

2 个答案:

答案 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',
    ),