/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate() { $model = new ProfileField(); $scheme = get_class(Yii::app()->db->schema); if (isset($_POST['ProfileField'])) { $model->attributes = $_POST['ProfileField']; if ($model->validate()) { $sql = 'ALTER TABLE `' . Profile::model()->tableName() . '` ADD `' . $model->varname . '` '; $sql .= $this->fieldType($model->field_type); if ($model->field_type != 'TEXT' && $model->field_type != 'DATE' && $model->field_type != 'BOOL' && $model->field_type != 'BLOB' && $model->field_type != 'BINARY') { $sql .= '(' . $model->field_size . ')'; } $sql .= ' NOT NULL '; if ($model->field_type != 'TEXT' && $model->field_type != 'BLOB' || $scheme != 'CMysqlSchema') { if ($model->default) { $sql .= " DEFAULT '" . $model->default . "'"; } else { $sql .= $model->field_type == 'TEXT' || $model->field_type == 'VARCHAR' || $model->field_type == 'BLOB' || $model->field_type == 'BINARY' ? " DEFAULT ''" : ($model->field_type == 'DATE' ? " DEFAULT '0000-00-00'" : " DEFAULT 0"); } } $model->dbConnection->createCommand($sql)->execute(); $model->save(); $this->redirect(array('view', 'id' => $model->id)); } } $this->registerScript(); $this->render('create', array('model' => $model)); }
public function actionCreate() { $model = new ProfileField(); if (isset($_POST['ProfileField'])) { $model->attributes = $_POST['ProfileField']; if ($model->validate()) { $sql = 'ALTER TABLE ' . Profile::tableName() . ' ADD `' . $model->varname . '` '; $sql .= $model->field_type; if ($model->field_type != 'TEXT' && $model->field_type != 'DATE') { $sql .= '(' . $model->field_size . ')'; } $sql .= ' NOT NULL '; if ($model->default) { $sql .= " DEFAULT '" . $model->default . "'"; } else { $sql .= $model->field_type == 'TEXT' || $model->field_type == 'VARCHAR' ? " DEFAULT ''" : " DEFAULT 0"; } $model->dbConnection->createCommand($sql)->execute(); $model->save(); $this->redirect(array('view', 'id' => $model->id)); } } $this->render('create', array('model' => $model)); }