3
3
namespace Database \Seeders ;
4
4
5
5
use App \Models \Profile ;
6
+ use App \Models \Role ;
6
7
use App \Models \User ;
8
+ use Faker \Factory ;
7
9
use Illuminate \Database \Seeder ;
8
10
use Illuminate \Support \Facades \Hash ;
9
- use jeremykenedy \LaravelRoles \Models \Role ;
10
11
11
12
class UsersTableSeeder extends Seeder
12
13
{
@@ -17,58 +18,33 @@ class UsersTableSeeder extends Seeder
17
18
*/
18
19
public function run (): void
19
20
{
20
- $ profile = new Profile ();
21
- $ adminRole = Role::whereName ('Admin ' )->first ();
22
- $ userRole = Role::whereName ('User ' )->first ();
23
-
24
- // Seed test admin
25
- $ seededAdminEmail =
'[email protected] ' ;
26
- $ user = User::where ('email ' , '= ' , $ seededAdminEmail )->first ();
27
- if ($ user === null ) {
28
- $ user = User::create ([
29
- 'name ' => 'Admin ' ,
30
- 'first_name ' => 'Harry ' ,
31
- 'last_name ' => 'Potter ' ,
32
- 'email ' => $ seededAdminEmail ,
33
- 'password ' => Hash::make ('password ' ),
34
- 'token ' => str_random (64 ),
35
- 'activated ' => true ,
36
- 'signup_confirmation_ip_address ' => '127.0.0.1 ' ,
37
- 'admin_ip_address ' => '127.0.0.1 ' ,
38
- ]);
39
-
40
- $ user ->profile ()->save ($ profile );
41
- $ user ->attachRole ($ adminRole );
42
- $ user ->save ();
21
+ $ faker = Factory::create ();
22
+ $ roles = Role::all ();
23
+ foreach ($ roles as $ role ) {
24
+ $ email = $ role ->slug .'@user.com ' ;
25
+ $ this ->createUser ($ faker , $ email , $ role );
43
26
}
27
+ }
44
28
45
- // Seed test user
46
- $ user = User::
where (
'email ' ,
'= ' ,
'[email protected] ' )->
first ();
47
- if ($ user === null ) {
29
+ private function createUser ($ faker , $ email , $ role )
30
+ {
31
+ $ user = User::where ('email ' , '= ' , $ email )->first ();
32
+ if (null === $ user ) {
48
33
$ user = User::create ([
49
- 'name ' => ' User ' ,
50
- 'first_name ' => ' Hermione ' ,
51
- 'last_name ' => ' Granger ' ,
52
-
34
+ 'name ' => $ faker -> userName ,
35
+ 'first_name ' => $ faker -> firstName ,
36
+ 'last_name ' => $ faker -> lastName ,
37
+ 'email ' => $ email ,
53
38
'password ' => Hash::make ('password ' ),
54
39
'token ' => str_random (64 ),
55
40
'activated ' => true ,
56
- 'signup_ip_address ' => ' 127.0.0.1 ' ,
57
- 'signup_confirmation_ip_address ' => ' 127.0.0.1 ' ,
41
+ 'signup_ip_address ' => $ faker -> ipv4 ,
42
+ 'signup_confirmation_ip_address ' => $ faker -> ipv4 ,
58
43
]);
59
44
60
45
$ user ->profile ()->save (new Profile ());
61
- $ user ->attachRole ($ userRole );
46
+ $ user ->attachRole ($ role );
62
47
$ user ->save ();
63
48
}
64
-
65
- // Seed test users
66
- // $user = factory(App\Models\Profile::class, 5)->create();
67
- // $users = User::All();
68
- // foreach ($users as $user) {
69
- // if (!($user->isAdmin()) && !($user->isUnverified())) {
70
- // $user->attachRole($userRole);
71
- // }
72
- // }
73
49
}
74
50
}
0 commit comments