laravel数据填充
1.简介:
在做项目的时候有时候,
要进行大量的数据使用,
这时候手动添加的时候会浪费大量的时间
这时候就是体现数据填充的作用了
2.数据表(admin)
CREATE TABLE `admins` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
`username` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `admins_username_unique` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3.在database\factories
下的UserFactory中复制:(或者自建表)
4.在项目根目录下使用调试命令:
php artisan tinker
4.1 执行填充:
上面的示例在使用起来非常麻烦
参考文档
所以laravel给我们推荐了模型工厂填充
1.创建工厂模型
php artisan make:factory +工厂名称 --model=Post
#demo
php artisan make:factory UserFactory --model=User
执行完成之后在database\factories
中
laravel已经为我们贴心的准备了一个案例
这里记得要在对应的模型中添加 use HasFactory;
2.创建填充类
php artisan make:seeder +你要填充的名称
3.最终执行命令php artisan db:seed --class=填充类名
即可