я хочу добавить кнопку «сброс» в бэкэнд, которая просто запускает все сеялки, если она нажата, чтобы сбросить данные до стандарта?
Должен быть способ сделать это, потому что я, вероятно, не единственный, у кого есть эта идея, но, к сожалению, я ничего не могу найти в Интернете.
Спасибо, что ответили заранее
Вы можете вызывать команды ремесленников прямо из своего кода. Например, ниже
обновить все семена и миграции.
который такой же как php artisan migrate:refresh --seed
Route::get('/reset', function(){
\Artisan::call('migrate:refresh',['--seed' => ' ']);
});
Вы могли бы использовать SomeModel::truncate();
удалить все существующие данные. После удаления объектов вы можете запустить $this->call(someTableSeeder::class);
чтобы посеять стол снова.
Вы также можете вызывать ремесленные команды в своем коде PHP (см .: https://laravel.com/docs/5.0/commands) в этом случае вы можете использовать что-то вроде Artisan::call('db:seed');
Вы можете запустить команду ремесленника с вашего контроллера:
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