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');
我想在后端添加一个按钮 "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');