检查 DAO 中的 DropTable 是否成功
Check if DropTable in DAO was successful
我正在考虑执行这样的查询:
Yii::$app->db->createCommand()->dropTable($r)
我一直在使用 execute()
http://www.yiiframework.com/doc-2.0/yii-db-command.html#dropTable()-detail 来这样做,但我不确定文档是否应该这样做。在这种情况下,我特别想 return 删除 table 的成功或失败。什么是正确的方法?我看到执行似乎只 return 受影响的行数?
是执行return行数影响。在这种情况下,一行受到影响。为了更好地管理错误,您还可以管理错误情况
添加
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();
}
这样如果你有错误(例如:要删除的table不存在)你可以管理它。
我正在考虑执行这样的查询:
Yii::$app->db->createCommand()->dropTable($r)
我一直在使用 execute()
http://www.yiiframework.com/doc-2.0/yii-db-command.html#dropTable()-detail 来这样做,但我不确定文档是否应该这样做。在这种情况下,我特别想 return 删除 table 的成功或失败。什么是正确的方法?我看到执行似乎只 return 受影响的行数?
是执行return行数影响。在这种情况下,一行受到影响。为了更好地管理错误,您还可以管理错误情况
添加
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();
}
这样如果你有错误(例如:要删除的table不存在)你可以管理它。