public function afterSave() { if ($this->isNewRecord) { /* $model=new Inventario(); $objeto=$model->getMetaData(); foreach($objeto->columns as $columna) { echo "campo ".$columna->name." ancho ".$columna->size." el tipo : ".$columna->dbType."<br>"; } print_r($objeto->columns);*/ $this->iduser = yii::app()->user->id; } else { if ($this->numeroitems == 0) { $cadena = "\$modeloatratar=new " . $this->modelo . "('" . $this->escenario . "');"; eval($cadena); $campos = $modeloatratar->getMetaData(); //$modeloatratar->setScenario($this->escenario); //echo "el escanrio de es : ".$modeloatratar->getScenario(); // Yii::app()->end(); //$campos=$this->getMetaData(); foreach ($campos->columns as $columna) { if ($modeloatratar->isAttributeSafe(trim($columna->name))) { //verificando si no se agregado antes $registro = Cargamasivadet::model()->find("hidcarga=:vcarga and \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnombrecampo=:vnombrecampo", array(':vcarga' => $this->id, ':vnombrecampo' => trim($columna->name))); if (is_null($registro)) { $registro = new Cargamasivadet(); $registro->nombrecampo = trim($columna->name); $registro->hidcarga = $this->id; $registro->aliascampo = trim($this->getAttributelabel($columna->name)); if ($modeloatratar->isAttributeRequired($columna->name)) { $registro->requerida = '1'; } $registro->activa = '1'; $registro->longitud = (is_null($columna->size) or trim($columna->size . '') == '') ? 20 : $columna->size; $registro->tipo = $columna->dbType; $registro->tipo = $columna->dbType; $registro->save(); } } /* $validadores=$modeloatratar->getValidators(); var_dump($validadores); yii::app()->end(); $modcargadet->activa=$modeloatratar->rules(); //$modcargadet->requerida=;*/ } } } return parent::aftersave(); }