Skip to main content

Black Friday 2025! Only until December 1st: coupon FRIDAY25 for 40% off Yearly/Lifetime membership!

Read more here

Category/Product DB and "Menu" Item

Premium
6 min read

Comments & Discussion

JO
Josue Oblitas ✓ Link copied!

Here I leave the seeders if it helps

namespace Database\Seeders;

use Illuminate\Database\Seeder; use App\Models\User; use App\Models\Role; use App\Models\Restaurant; use App\Models\City; use App\Enums\RoleName;

class UserSeeder extends Seeder { public function run(): void { $this->createAdminUser(); $this->createVendorUser(); }

public function createAdminUser()
{
    User::create([
        'name'     => 'Admin User',
        'email'    => 'admin@admin.com',
        'password' => bcrypt('password'),
    ])->roles()->sync(Role::where('name', RoleName::ADMIN->value)->first());
}

public function createVendorUser()
{
    $vendor = User::create([
        'name'     => 'Restaurant owner',
        'email'    => 'vendor@admin.com',
        'password' => bcrypt('password'),
    ]);

    $vendor->roles()->sync(Role::where('name', RoleName::VENDOR->value)->first());

    $cityId = City::where('name', 'Vilnius')->value('id');

    if (!$cityId) {
        // Si la ciudad no existe, puedes crearla aquí o lanzar una excepción
        $city = City::create(['name' => 'Vilnius']);
        $cityId = $city->id;
    }

    $vendor->restaurant()->create([
        'city_id' => $cityId,
        'name'    => 'Restaurant 001',
        'address' => 'Address SJV14',
    ]);
}

}