Я смотрю на выполнение запроса, как это:
Yii::$app->db->createCommand()->dropTable($r)
Я использую execute()
http://www.yiiframework.com/doc-2.0/yii-db-command.html#dropTable()-detail для этого, но я не уверен из документов, если я должен делать это. В частности, я хочу вернуть успех или неудачу удаления таблицы в этом случае. Какой правильный путь? Я вижу, что execute только возвращает количество затронутых строк?
Да, команда execute возвращает номер строки, на которую влияет. В этом случае затрагивается один ряд. Для лучшего управления ошибками вы также можете управлять ситуацией с ошибками
добавление
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();
}
Таким образом, если у вас есть ошибка (например, таблица, которую нужно удалить, не существует), вы можете справиться с ней.
Других решений пока нет …