/** * @see CActiveRecord::instantiate() */ public function instantiate($attributes) { $res = parent::instantiate($attributes); // Set original attributes $res->originalAttributes = $attributes; return $res; }
protected function instantiate($attributes) { if (!isset($attributes['clase'])) { // Esto es para el caso del alta del modelo return parent::instantiate($attributes); } $className = $attributes['clase']; // Nombre del modelo a instanciar $model = new $className(null); // Null es necesario para llenar los campos con los valores que vienen de la base de datos return $model; }
protected function instantiate($attributes) { if (!isset($attributes['identidadtipo'])) { // Esto es para el caso del alta del modelo return parent::instantiate($attributes); } $classRecord = Entidadtipo::model()->findByPk($attributes['identidadtipo']); // Carga el modelo según el tipo if ($classRecord === null) { throw new CException('No se encuentra el tipo ' . $attributes['identidadtipo']); } $className = $classRecord->modelo; // Nombre del modelo a instanciar $model = new $className(null); // Null es necesario para llenar los campos con los valores que vienen de la base de datos return $model; }
/** * @see CActiveRecord::instantiate() */ protected function instantiate($attributes) { $record = parent::instantiate($attributes); $record->_old = $attributes; if ($this->_isReadingFromCache) { $record->setReadingFromCache(); } return $record; }