addCondition not working

So I have


	


                $criteria = new CDbCriteria;

		$criteria->condition = 'user_id=:userID';

		$criteria->params = array(':user_id' => Yii::app()->user->id);

		$criteria->order = 'updated_time DESC';

		

		if(isset($_GET['v']))

		{

			$site = $this->socType[$_GET['v']];

			$criteria->addCondition('AND site=' . $site);

                }


		

		$dataProvider =new CActiveDataProvider('Post', array(

			'pagination'=> array('pageSize'=> 20),

			'criteria'=> $criteria,

			)

		);



$site should give an integer from 0 to 1, but

		$criteria->addCondition('AND site=' . $site);

doesn’t do the job of filtering according to site column listed in the database.

what can I do?

Check the documentation for addCondition() - http://www.yiiframework.com/doc/api/1.1/CDbCriteria#addCondition-detail

spoiler: the "AND " should be removed from your condition

but even if I do

$criteria->addCondition(‘site’, $site, ‘AND’);

it still does not work.

why not reading manual line-by-line? or you don’t know english?

you should using


$criteria->addCondition('site = :site', 'AND');

$criteria->params += array(':site' => $site);

Yes, I do speak english but the manual is confusing.

So now I have the following, but it still doesn’t work.




		$criteria = new CDbCriteria;

		$criteria->condition = 'user_id=:userID';

		$criteria->params = array(':user_id' => Yii::app()->user->id);

		

		

		if(isset($_GET['v']))

		{

			$site = $this->socType[$_GET['v']];

			$criteria->addCondition('site = :site', 'AND');

			$criteria->params += array(':site' => $site);

		}

		

		

		$dataProvider =new CActiveDataProvider('Post', array(

			'pagination'=> array('pageSize'=> 20),

			'criteria'=> $criteria,

			)

		);



The




			$criteria->addCondition('site = :site', 'AND');

			$criteria->params += array(':site' => $site);

does not work.

thank you for your help!

doesn’t work? any error output? or you want using it into cgridview ?