我想添加一个按钮" reset"如果按下将所有播种机重置为标准,后端只运行所有播种机? 必须有办法做到这一点,因为我可能不是唯一一个有这个想法,但不幸的是,我无法在网上找到任何东西。
感谢您提前回复
答案 0 :(得分:2)
您可以直接从代码中调用artisan命令。例如下面的那个 刷新所有种子和迁移。
与php artisan migrate:refresh --seed
Route::get('/reset', function(){
\Artisan::call('migrate:refresh',['--seed' => ' ']);
});
答案 1 :(得分:0)
您可以从控制器运行artisan命令:
Artisan::call('migrate:fresh'); // = php artisan migrate:fresh
Artisan::call('db:seed'); // = php artisan db:seed
// OR
Artisan::call('migrate:fresh', ['--seed' => true]);
更多信息:https://laravel.com/docs/5.5/artisan#programmatically-executing-commands
答案 2 :(得分:0)
您可以使用SomeModel::truncate();
删除所有现有数据。删除对象后,您可以运行$this->call(someTableSeeder::class);
再次为表格播种。
您也可以在PHP代码中调用artisan命令(请参阅:https://laravel.com/docs/5.0/commands),在这种情况下,您可以使用类似Artisan::call('db:seed');