Создать CDBcriteria в yii

Как создать cdbcriteria для запроса вроде:

select * from table_name where 'profile_type'='*'OR 'profile_type'=$usertype  AND 'location'='*'OR 'location'=$country

person Gaurav Parashar    schedule 05.02.2014    source источник


Ответы (2)


вы можете попробовать вот так:

$criteria = new CDbCriteria;
$criteria->condition  = "(profile_type='*' OR profile_type=:prof ) AND 
                         (location='*' OR  location=:loc ) ";

$criteria->params = array(':prof' => $usertype, ':loc' => $country);

$model = MyModel::model()->findAll($criteria );
person sakhunzai    schedule 05.02.2014

Вы можете напрямую передать условие, как показано ниже.

Примечание: это один из способов. Не окончательное решение.

$criteria = new CDbCriteria;
$criteria->condition  = "(profile_type ='*' OR profile_type = $usertype)  AND (location ='*' OR location = $country)";

$model = Model_name::model()->findAll($criteria );
person Kumar V    schedule 05.02.2014
comment
Вам не кажется, что условие следует заключать в двойные кавычки? - person Let me see; 05.02.2014