获取CGridView以返回所选值

时间:2011-03-25 12:01:56

标签: php sql yii cgridview

我想使用Yii生成的搜索功能将选定的值返回到CGridView(类似于IN查询)。进一步详细说明让我使用下面的示例:

这里我返回基于值'34455'的值(fk_recordid)

public function search()
{
    $fk_recordid = '34455'; 
    $criteria=new CDbCriteria;

    $criteria->compare('id',$this->id,true);
    $criteria->compare('fk_recordid',$fk_recordid,true);
    $criteria->compare('babypid',$this->babypid);
    $criteria->compare('babysbn',$this->babysbn);   

    return new CActiveDataProvider(get_class($this), array(
        'criteria'=>$criteria,
    ));
}

如何更改此代码以扩展fk_recordid标准,即根据多个值返回记录,例如'34455','47859','78956'.....

1 个答案:

答案 0 :(得分:1)

而不是像你一样compare()

$fk_recordid = '34455';
$criteria->compare('fk_recordid',$fk_recordid,true);

你可以这样使用addInCondition()

$myRecordIds = array('34455','47859','78956');
$criteria->addInCondition('fk_recordid',$myRecordIds);

我不知道你是如何将所有这些记录id从CGridView传递给search()函数的,但是一旦你有了它们,addInCondition()就可以了。我希望这有帮助!