简介
为数据库填充预先准备好的数据。
生成填充类
使用 artisan 的 make:seeder
生成填充类:
php artisan make:seeder UserSeeder
生成的填充类在:database / seeds 目录下
编写填充数据
public function run(AdminUser $adminuser) //用的是依赖注入
{
$adminuser->insert([
'username' => 'admin',
'password' => Hash::make('admin'),
'state' => AdminUser::NORMAL
]);
}
调用其他 Seeders
在 DatabaseSeeder
类中,使用 call
方法运行其他的填充类,可以将数据填充拆分成多个文件,好处是不会使单个 seeder
变得非常大,只需简单的传递要运行的 seeder
类名称即可:
public function run()
{
$this->call([
UsersTableSeeder::class,
PostsTableSeeder::class,
CommentsTableSeeder::class,
]);
}
运行填充类
重新生成 composer 的自动加载器
composer dump-autoload
执行填充类填充数据库 ```php php artisan db:seed
// 使用 —class 指定特定的 填充类 php artisan db:seed —class=UserSeeder
<a name="aQd08"></a>
###
可以用 `migrate:fresh` 命令来填充数据库,将删除所有的表并重新运行所有迁移,这个命令一般用于重建数据库
> 注意:此方法会重置数据库,清空所有数据,开发上线后可用此命令清空所有测试数据
```php
php artisan migrate:fresh --seed