我如何在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中做到呢?
答案 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);