你们能帮我解决我的问题吗?如何使用Laravel ajax一次单击即可从数据库所有表中删除所有记录。我必须从所有表中删除所有记录,请帮助解决我的问题。
提前感谢
您可以使用truncate方法,这适用于Laravel 4和5:
MyModel::truncate();
它将删除您的单个表的所有数据。
php artisan migrate:refresh
它将删除您所有表的所有数据。它将刷新您所有表的数据
使用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
}
});
您应尝试此操作
用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();
}