addInCondition()應該適合你,是這樣的:
$pkArray = array(1,4,5);
$criteria = new CDbCriteria;
$criteria->addInCondition('id',$pkArray);
$models = Languages::model()->findAll($criteria);
[編輯]
或者,如@jborch/@Paystey以下建議,對於一個主鍵查找可以使用findAllByPk()像這樣:
$pkArray = array(1,4,5);
$models = Language::model()->findAllByPk($pkArray);
[/編輯]
應該返回活動記錄模式的數組,所以你可以循環像這樣:
foreach(array_keys($models) as $key)
{
echo '<p>Language: '.$models[$key]->name.'</p>';
}
或者,如果您需要名稱的數組,
CHtml::listData($models,'id','name');
會給你像一個數組所以:
array(
1 => 'english',
4 => 'german',
5 => 'thai'
)
來源
2012-12-06 17:41:57
Stu
或者只是'語言::模型() - > findByPk(陣列(1,4,5));' – jborch
@jborch'findAllByPk' :) – Paystey
啊,當然了。 – jborch