Laravel 添加播种器功能查看

Laravel add seeder function to view

我想在后端添加一个按钮 "reset",如果按下该按钮将数据重置为标准,它只会运行所有播种机? 一定有办法做到这一点,因为我可能不是唯一有这个想法的人,但不幸的是我在网上找不到任何东西。

感谢您提前回复

您可以直接从您的代码中调用 artisan 命令。比如下面这个 刷新所有种子和迁移。

php artisan migrate:refresh --seed

相同
Route::get('/reset', function(){
    \Artisan::call('migrate:refresh',['--seed' => ' ']);
});

您可以从您的控制器运行 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

您可以使用 SomeModel::truncate(); 删除所有现有数据。删除对象后,您可以 运行 $this->call(someTableSeeder::class); 再次播种 table。

您还可以在 PHP 代码中调用 artisan 命令(参见:https://laravel.com/docs/5.0/commands),在这种情况下,您可以使用 Artisan::call('db:seed');