public function fill($getParam = 'search') { $attributes = Ad::getEavList(); foreach ($_GET[$getParam] as $key => $value) { if (!in_array($key, $attributes)) { continue; } $this->eav[$key] = $value; } $this->region_id = Yii::app()->request->getQuery('region_id'); $this->city_id = Yii::app()->request->getQuery('city_id'); $this->word = Yii::app()->request->getQuery('word'); }
protected function buildEavCriteria(CDbCriteria $criteria, $getParam = 'search') { $attributes = Ad::getEavList(); foreach ($_GET[$getParam] as $key => $value) { if (!in_array($key, $attributes)) { continue; } if (is_array($value)) { if (isset($value['min']) and !empty($value['min'])) { $criteria->addCondition("::{$key} >= :min_{$key}"); $criteria->params[":min_{$key}"] = $value['min']; } if (isset($value['max']) and !empty($value['max'])) { $criteria->addCondition("::{$key} <= :max_{$key}"); $criteria->params[":max_{$key}"] = $value['max']; } } else { if (!$value) { continue; } $criteria->addCondition("::{$key} = :{$key}"); $criteria->params[":{$key}"] = $value; } } }