39 lines
998 B
PHP
39 lines
998 B
PHP
<?php
|
|
|
|
namespace Database\Seeders\Users;
|
|
|
|
use App\Models\User;
|
|
use Illuminate\Database\Seeder;
|
|
|
|
class UsersTableSeeder extends Seeder {
|
|
public array $users = [
|
|
|
|
];
|
|
|
|
public array $admins = [
|
|
['email' => 'admin@nirgroup.ru', 'name' => 'Администратор', 'password' => '4bvlxE0p']
|
|
];
|
|
|
|
|
|
/**
|
|
* Run the database seeders.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function run() {
|
|
$this->createUsers($this->users);
|
|
$this->createUsers($this->admins, 'Administrator');
|
|
}
|
|
|
|
public function createUsers($users, $role = 'User') {
|
|
collect($users)->each(function($data) use($role) {
|
|
if ($email = $data['email'] ?? null) {
|
|
if ($user = User::where(['email' => $email])->first()) $user->update($data);
|
|
else $user = User::factory()->create($data);
|
|
$user->assignRole($role);
|
|
if ($password = $data['password'] ?? null) $user->setPassword($password);
|
|
}
|
|
});
|
|
}
|
|
}
|