0

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」などのいくつかの値に基づいてレコードを返します.....

4

1 に答える 1

1

あなたが持っているような比較()の代わりに:

$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() が機能します。これが役立つことを願っています!

于 2011-03-25T13:45:51.593 に答える