#laravel
#laravel
Вопрос:
Я пытаюсь создать скрипт, с помощью которого я могу удалить таблицу с помощью одной ссылки. для этого у меня есть приведенный ниже код
Route::get('delete_table','HomeController@delete_table')->name('delete_table');
public function delete_table(){
$delete = DB::table('test')->delete();
if($delete){
echo 'success';
}else{
echo 'error';
}
}
но когда я нажимаю на этот маршрут в своем браузере, я получаю error
from else условие, но я не знаю, почему оно не работает.
кто-нибудь может мне помочь в этом?
Комментарии:
1. @lagbox нет, эта таблица пуста
2. тогда нет строк для удаления, поэтому он возвращает 0… он возвращает количество строк, на которые влияет оператор
3.
DB::table('test')->delete();
не удаляет саму таблицу, как вы можете видеть из документов , вместо этого она удалит все записи в этой таблице, а возвращаемое значение будет равно количеству удаленных записей.4. @Remul спасибо за ваш ответ, но я создаю этот скрипт для удаления нескольких таблиц одним щелчком мыши, не могли бы вы помочь мне с этим?
5. @Mohini конструктор запросов не поддерживает удаление таблиц, вместо этого вам нужно будет использовать конструктор схем , что-то вроде
Schema::drop('test');
, но это всегда будет возвращать значение null, поэтому вам нужно будет проверить себя, действительно ли таблица была удалена.