我正在执行这样的查询:
Yii::$app->db->createCommand()->dropTable($r)
我一直在使用execute()
http://www.yiiframework.com/doc-2.0/yii-db-command.html#dropTable()-detail这样做,但我不确定文档是否应该这样做。我特别希望返回在此实例中删除表的成功或失败。什么是正确的方法?我看到执行只会返回受影响的行数?
答案 0 :(得分:2)
是执行返回行影响的数量。在这种情况下,一行会受到影响。为了更好的错误管理,您还可以管理错误情况
添加
use yii\base\Exception;
use yii\web\NotFoundHttpException;
和你的功能添加
try {
Yii::$app->db->createCommand()->dropTable($r)->execute();
}
catch (\yii\db\Exception $e) {
// yii db exception
$populateError = $e->getMessage();
}
catch (\Exception $e) {
// not a db exception
$populateError = $e->getMessage();
}
这样,如果您有错误(例如:要删除的表不存在),您可以进行管理。