UsersTableSeeder.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. use Illuminate\Database\Seeder;
  3. use App\Models\User;
  4. class UsersTableSeeder extends Seeder
  5. {
  6. /**
  7. * Run the database seeds.
  8. *
  9. * @return void
  10. */
  11. public function run()
  12. {
  13. // 获取 Faker 实例
  14. $faker = app(Faker\Generator::class);
  15. // `factory(User::class)` 根据指定的 `User` 生成模型工厂构造器,对应加载 `UserFactory.php` 中的工厂设置
  16. $users = factory(User::class)
  17. ->times(10)
  18. ->make()
  19. ->each(function ($user, $index) use ($faker) {
  20. // ...
  21. });
  22. // 让隐藏字段可见,并将数据集合转换为数组
  23. $user_arrya = $users->makeVisible(['password', 'remember_token'])->toArray();
  24. // 插入到数据库中
  25. User::insert($user_arrya);
  26. // 单独处理第一个用户数据
  27. $user = User::find(1);
  28. $user->name = '大黄蜂';
  29. $user->email = 'guccilee@163.com';
  30. $user->save();
  31. // 初始化用户角色,将 1 号用户指派为『站长』
  32. $user->assignRole('Founder');
  33. // 联动更新 user_infos 表
  34. foreach (User::all() as $user){
  35. $user_id = $user->id;
  36. \App\Models\UserInfo::insert([
  37. 'user_id' => $user_id,
  38. ]);
  39. }
  40. }
  41. }