/** * Creates a view. */ public function actionCreate() { $this->layout = false; $view = new View(); if (isset($_POST['query'])) { $query = $_POST['query']; try { $cmd = $this->db->createCommand($query); $cmd->prepare(); $cmd->execute(); $response = new AjaxResponse(); $response->addNotification('success', Yii::t('core', 'successAddView'), null, $query); $response->refresh = true; $response->executeJavaScript('sideBar.loadViews(schema);'); $this->sendJSON($response); } catch (CDbException $ex) { $errorInfo = $cmd->getPdoStatement()->errorInfo(); $view->addError(null, Yii::t('core', 'sqlErrorOccured', array('{errno}' => $errorInfo[1], '{errmsg}' => $errorInfo[2]))); } } else { $query = 'CREATE VIEW ' . $this->db->quoteTableName('name_of_view') . ' AS' . "\n" . '-- Definition start' . "\n\n" . '-- Definition end'; } CHtml::generateRandomIdPrefix(); $this->render('form', array('view' => $view, 'query' => $query)); }