我想创建一个新表,然后使用创建命令将值插入其中。这是我尝试过的代码
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' ] );
}
当我尝试运行此代码时,出现错误调用未定义的方法 Yii::app()
我如何在 Yii2 中使用 create 命令?
最佳答案
您混合了 yii
和 yii2
:
用途:
\Yii::$app->db;
而不是
\Yii::$app()->db;
关于mysqli - 如何在 yii2 中使用 Create 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33316459/