Для загрузки первоначальных данных имеется artisan-команда
php artisan make:seeder UserTableSeeder
Класс Seeder содержит только один метод по умолчанию run()
.
use Illuminate\Database\Seeder; use Illuminate\Database\Eloquent\Model; class DatabaseSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { DB::table('users')->insert([ 'name' => str_random(10), 'email' => str_random(10).'@gmail.com', 'password' => bcrypt('secret'), ]); } }
После того, как данные для загрузки подготовлены, нужно выполнить artisan-команду db:seed
php artisan db:seed// все классы php artisan db:seed --class=UserTableSeeder // только указанный класс
Откатить данные можно с помощью команды rolback
php artisan migrate:refresh--seed
Можно использовать вспомогательные классы, в которых будет прописана логика загруки данных, загружаются они с помощью метода call().
public function run(){ Model::unguard(); $this->call(UserTableSeeder::class); $this->call(PostsTableSeeder::class); $this->call(CommentsTableSeeder::class); }
Практика