如何从数据库所有表中删除所有记录

问题描述 投票:1回答:3

你们能帮我解决我的问题吗?如何使用Laravel ajax一次单击即可从数据库所有表中删除所有记录。我必须从所有表中删除所有记录,请帮助解决我的问题。

提前感谢

([https://i.stack.imgur.com/gu6Qg.png

php ajax laravel
3个回答
2
投票

您可以使用truncate方法,这适用于Laravel 4和5:

MyModel::truncate();

它将删除您的单个表的所有数据。

php artisan migrate:refresh

它将删除您所有表的所有数据。它将刷新您所有表的数据


1
投票

使用Artisan :: call()在控制器中创建函数

use Artisan;

public function refreshDatabase(){
   Artisan::call('migrate:refresh');
   return 'Success';
}

Route::get('refresh', 'YourController@refreshDatabase');

$.ajax('/refresh',   
{
    success: function (data) {
           // you can write
    }
});

编辑

在您的[[web.php文件中,如下使用,不使用控制器功能,

如果您确实要使用控制器功能,请更改功能名称

use Artisan; Route::get('refresh-tables',function(){ Artisan::call('migrate:refresh'); return 'Success'; }); $.ajax('/refresh-tables', { success: function (data) { // you can write } });


0
投票

您应尝试此操作

用ajax

$(document).on('.delete-all-record', function (e) { e.preventDefault(); $.ajax({ type: 'GET', url: 'url', success: function (data) { console.log(data); }, error: function (jqXHR, textStatus, errorThrown) { alert("Some problem occurred, please try again."); } }); });

在控制器中

$tableNames = DB::select('SHOW TABLES'); foreach ($tableNames as $name) { //if you don't want to truncate migrations if ($name->Tables_in_db_name == 'migrations') { continue; } DB::table($name->Tables_in_db_name)->truncate(); }
© www.soinside.com 2019 - 2024. All rights reserved.