如何在 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 中使用创建命令?
您混合了 yii
和 yii2
:
使用:
\Yii::$app->db;
而不是
\Yii::$app()->db;
我想创建一个新的 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 中使用创建命令?
您混合了 yii
和 yii2
:
使用:
\Yii::$app->db;
而不是
\Yii::$app()->db;