36 lines
839 B
PHP
36 lines
839 B
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use App\Models\Role;
|
|
use Illuminate\Database\Seeder;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class RoleSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Run the database seeds.
|
|
*/
|
|
public function run(): void
|
|
{
|
|
$roles = [
|
|
'admin' => [
|
|
'name' => 'Admin',
|
|
'code' => 'admin',
|
|
'description' => 'Admin role',
|
|
],
|
|
'user' => [
|
|
'name' => 'User',
|
|
'code' => 'user',
|
|
'description' => 'User role',
|
|
],
|
|
];
|
|
|
|
DB::transaction(static function() use ($roles) {
|
|
$codes = collect($roles)->pluck('code');
|
|
Role::whereNotIn('code', $codes)->delete();
|
|
Role::upsert($roles, ['code'], ['name','description']);
|
|
});
|
|
}
|
|
}
|