如何在 yii2 中使用创建命令?

How to use Create Command in yii2?

我想创建一个新的 table,然后使用创建命令将值插入其中。这是我试过的代码

if ( $model->save() )
            {
                $first_val      =   $model->num_start - 1;
                $connection     =   \Yii::$app()->db;
                $transaction    =   $connection->beginTransaction();
                try 
                {
                    $q =  "CREATE TABLE range_{$model->id}( id INT(11) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id) ); " ;      
                    $connection->createCommand($q)->execute(); // new table created
                    $transaction->commit();
                    if ( $model->num_start > 1 )
                    {
                        $r =  "INSERT INTO range_{$model->id}( id ) VALUES ({$first_val});" ;      
                        $connection->createCommand($r)->execute(); // new value inserted
                        $transaction->commit();
                    }

                } 
                catch (Exception $e) 
                {
                    // react on exception   
                    $transaction->rollback();
                } 

                return $this->redirect( [ 'index' ] );
}

当我尝试 运行 此代码时出现错误 Call to undefined method Yii::app() 我如何在 Yii2 中使用创建命令?

您混合了 yiiyii2:

使用:

\Yii::$app->db; 

而不是

\Yii::$app()->db;