/** * Find or create manufacturer * @param $name * @return integer */ public function getManufacturerIdByName($name) { if (isset($this->manufacturerCache[$name])) { return $this->manufacturerCache[$name]; } $cr = new CDbCriteria(); $cr->with = array('man_translate'); $cr->compare('man_translate.name', $name); $model = StoreManufacturer::model()->find($cr); if (!$model) { $model = new StoreManufacturer(); $model->name = $name; $model->save(); } $this->manufacturerCache[$name] = $model->id; return $model->id; }