Yii 如何使用每个产品标识获取“dataProvider”
我有一个订单表,其中product_id是类似于10,11,12,13的字符串。并使用此id创建产品表。 如何使用每个产品id获取数据提供者 我的代码是Yii 如何使用每个产品标识获取“dataProvider”,yii,Yii,我有一个订单表,其中product_id是类似于10,11,12,13的字符串。并使用此id创建产品表。 如何使用每个产品id获取数据提供者 我的代码是 public function getProducts($id){ $idarray = explode(',', $id); $dataProviderProduct = Array(); foreach($idarray as $i=>$id){ $dataProviderProduct[
public function getProducts($id){
$idarray = explode(',', $id);
$dataProviderProduct = Array();
foreach($idarray as $i=>$id){
$dataProviderProduct[$i]=new CActiveDataProvider('Product',
array( 'criteria'=>array(
'condition'=>'id=:id',
'params'=>array(':id' => $id),
),
'pagination'=>array( 'pageSize'=>10),
)
);
}
return $dataProviderProduct;
}
但这是错误的代码请这样使用:
$idarray = explode(',', $id);
$criteria = new CDbCriteria();
$criteria->addInCondition('id', $idarray);
$data = ModelName::model()->findAll($criteria);
是的,你说得对。但是如果我的订单表包含prodict_id“33,33,34”;我会用2个产品来代替3我不明白你的意思?若id不唯一,那个么问题在哪里?在我的视图中,我为每个经过身份验证的用户(订单历史记录)添加了ListView。对于每个项目,我为订购的产品添加Gridview。若order的product_id为“33,33,34”,网格视图将在线显示表中的两行,分别为id=>33和id=>34。正如您所见,将显示2种产品intead 3。这是我的问题