Files
shopit-back/database/seeders/MenuSeeder.php

45 lines
1.2 KiB
PHP

<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use App\Domains\Menu\Models\Menu;
use App\Domains\Tenant\Models\Tenant;
class MenuSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
$menus = [
['code' => 'index', 'route' => '/'],
['code' => 'product.detail', 'route' => '/product/:id'],
['code' => 'checkout', 'route' => '/checkout'],
['code' => 'profile', 'route' => '/profile'],
['code' => 'purchases', 'route' => '/purchases'],
['code' => 'tickets', 'route' => '/tickets'],
];
foreach ($menus as $menuData) {
Menu::firstOrCreate(['code' => $menuData['code']], $menuData);
}
$tenants = Tenant::all();
foreach ($tenants as $tenant) {
$menuCodes = ['index', 'checkout', 'profile', 'purchases'];
if ($tenant->codigo === 'sonder') {
$menuCodes[] = 'product.detail';
} else {
$menuCodes[] = 'tickets';
}
// Usar sync para asociar los menues al tenant
$tenant->menues()->sync(Menu::whereIn('code', $menuCodes)->pluck('code'));
}
}
}