I am trying something like this:
public function search() {
$criteria = new CDbCriteria;
$criteria->compare('user_details_id', $this->user_details_id);
$criteria->compare('user_type_id', $this->user_type_id);
$criteria->compare('customer_basics_id', $this->customer_basics_id);
$criteria->compare('user_address_id', $this->user_address_id);
$criteria->compare('user_city_id', $this->user_city_id);
$criteria->compare('is_active', $this->is_active);
$criteria->compare('create_dttm', $this->create_dttm, true);
$criteria->compare('update_dttm', $this->update_dttm, true);
// if condition is working
if (isset($_GET['ulip'])) {
$criteria->addCondition(
"customer_basics_id=" . CustomerBasics::getCustomerBasicsId(Yii::app()->session['user_id']), "AND"
);
$criteria->addCondition("user_city_id IS NULL");
// else condition is working
} else {
$criteria->addCondition(
"customer_basics_id=" . CustomerBasics::getCustomerBasicsId(Yii::app()->session['user_id']), "AND"
);
$criteria->addCondition("user_city_id IS NOT NULL");
}
return new CActiveDataProvider($this, array(
'criteria' => $criteria,
'pagination' => array(
'pageSize' => 10,
),
));
}
Here the issue is if
condition is working fine and showing results according to the condition but else part is not working and it returns nothing. I think IS NOT NULL
is not working here.
What is the issue ?