Получить CGridView для возврата выбранных значений - PullRequest
0 голосов
/ 25 марта 2011

Я хотел бы вернуть выбранные значения в CGridView (аналогично запросу IN), используя функцию поиска, сгенерированную Yii. Для дальнейшего уточнения позвольте мне использовать приведенный ниже пример:

Здесь я возвращаю значения, основанные на значении '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 Ответ

1 голос
/ 25 марта 2011

Вместо сравнить () как у вас:

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

Вы можете использовать addInCondition () примерно так:

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

Я не знаю, как вы передаете все эти идентификаторы записей из CGridView в функцию search (), но как только вы их получите, addInCondition () будет работать. Надеюсь, это поможет!

...