并且在 Yii 中有条件

And condition in Yii with condition

如何在 Yii 的 Mysql 中使用 AND。

我tried.Here是我的条件

$cid =$list['cid'];
$sid =$list['sid'];
$criteria = new CDbCriteria();
$con = 'cid=:cid';
$arr = array(':cid'=>$cid,);
if($sid!=null){
 $con = $con.'AND sid=:sid'; 
 array_push($arr, ':sid'=>$sid);  //here i have error
 }
$criteria->condition = $con;
$criteria->params = $arr;
$result = Product::model()->findAll($criteria);

有时候只有我有sid。我无法将条件推入数组。那么如何在 yii 中实现呢?

不是"array_push",试试这个:

$arr[':sid'] = $sid;

我会这么设计的

$cid =$list['cid'];
$sid =$list['sid'];
$criteria = new CDbCriteria();
$criteria->condition = 'cid=:cid';
$criteria->params = array(':cid'=>$cid,);
if($sid!=null){
    $criteria->addCondition('sid=:sid');
    $criteria->params[':sid'] = $sid; // or $criteria->params = array_merge($criteria->params, array(':sid'=>$sid));
}
$result = Product::model()->findAll($criteria);