You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

64 lines
1.8 KiB

<?php
namespace Database\Seeders;
use DB;
use Illuminate\Database\Seeder;
use App\Models\User;
use Illuminate\Support\Str;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
class UserRolePermissionSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$default_user_value = [
'email_verified_at' => now(),
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
'remember_token' => Str::random(10),
];
DB::beginTransaction();
try {
//code...
$admin = User::create(array_merge([
'email' => 'admin@gmail.com',
'name' => 'admin',
], $default_user_value));
$staff = User::create(array_merge([
'email' => 'staff@gmail.com',
'name' => 'staff',
], $default_user_value));
$role_admin = Role::create(['name' => 'admin']);
$role_staff = Role::create(['name' => 'staff']);
$permission = Permission::create(['name' => 'read role']);
$permission = Permission::create(['name' => 'create role']);
$permission = Permission::create(['name' => 'update role']);
$permission = Permission::create(['name' => 'delete role']);
$role_admin->givePermissionTo('read role');
$role_admin->givePermissionTo('create role');
$role_admin->givePermissionTo('update role');
$role_admin->givePermissionTo('delete role');
$admin->assignRole('admin');
$staff->assignRole('staff');
DB::commit();
} catch (\Throwable $th) {
throw $th;
}
}
}