Laravel添加了播种功能来查看

时间:2017-09-29 08:10:55

标签: php laravel artisan seed

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

感谢您提前回复

3 个答案:

答案 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');

的内容