和条件的Yii条件

时间:2015-02-23 05:53:54

标签: php mysql yii

我如何在Yii中的Mysql中使用AND。

我试过了。这是我的病情

$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中做到呢?

2 个答案:

答案 0 :(得分:1)

不是“array_push”,试试这个:

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

答案 1 :(得分:1)

我会这么设计

$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);