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.在databasefactories下的UserFactory中复制:(或者自建表)

4.在项目根目录下使用调试命令:

php artisan tinker

4.1 执行填充:

上面的示例在使用起来非常麻烦

参考文档

所以laravel给我们推荐了模型工厂填充
1.创建工厂模型

php artisan make:factory  +工厂名称  --model=Post
#demo
php artisan make:factory   UserFactory  --model=User

执行完成之后在databasefactories

laravel已经为我们贴心的准备了一个案例

这里记得要在对应的模型中添加 use HasFactory;

2.创建填充类

php artisan make:seeder +你要填充的名称

3.最终执行命令php artisan db:seed --class=填充类名即可

原文地址:https://www.cnblogs.com/yaoliuyang/p/13068731.html