$products_ids = array(234,100,405,506);
映射绑定的阵列
$in_query = implode(',', array_fill(0, count($products_ids), '?'));
为select oflect的commadn对象进行准备
$command = Yii::app()->db->createCommand()
->select('product_id, product_name, product_image, product_price')
->from('products')
->where('product_id IN(' . $in_query . ')');
绑定参数
foreach ($products_ids as $k => $product_id){
$command->bindValue(($k+1),$product_id,PDO::PARAM_INT);
}
获取结果
$products = $command->queryAll();
$orderIds = array(1,2);
$criteria = new CDbCriteria();
$criteria->addInCondition("order_id", $orderIds,'AND');
$criteria->condition = 'product_id = :product_id';
$criteria->params = array(':product_id'=>$product->id );
$orderItems=new CActiveDataProvider('OrderItems', array(
'criteria'=>$criteria,
'pagination'=>array(
'pageSize'=>20,
),
));
我以前我本人问过这个问题,请参阅:YII使用条件
的变量 我将其作为答案而不是评论,因为我也使用其他条件的添加条件也遇到了问题,这是由于末尾不包括
'AND'
参数数量无效。希望这有帮助