From 3afef63fc70470dabb61d4e91fe38b2e3ba5a599 Mon Sep 17 00:00:00 2001 From: ncoronel Date: Tue, 14 Jul 2026 12:10:39 -0300 Subject: [PATCH] feat: update MenuSeeder to dynamically fetch menu codes and adjust tenant associations --- database/seeders/DatabaseSeeder.php | 1 + database/seeders/MenuSeeder.php | 12 ++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 3ef20aa..2d92908 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -29,6 +29,7 @@ class DatabaseSeeder extends Seeder BrandSeeder::class, ProductCatalogFromImagesSeeder::class, TelepagosIntegrationSeeder::class, + MenuSeeder::class, ]); } } diff --git a/database/seeders/MenuSeeder.php b/database/seeders/MenuSeeder.php index ee86545..a2b4ad7 100644 --- a/database/seeders/MenuSeeder.php +++ b/database/seeders/MenuSeeder.php @@ -28,17 +28,21 @@ class MenuSeeder extends Seeder $tenants = Tenant::all(); + $allMenus = Menu::pluck('code')->toArray(); + foreach ($tenants as $tenant) { - $menuCodes = ['index', 'checkout', 'profile', 'purchases']; + $menuCodes = $allMenus; if ($tenant->codigo === 'sonder') { - $menuCodes[] = 'product.detail'; + // Sonder NO tiene tickets + $menuCodes = array_diff($menuCodes, ['tickets']); } else { - $menuCodes[] = 'tickets'; + // Los demás NO tienen product.detail + $menuCodes = array_diff($menuCodes, ['product.detail']); } // Usar sync para asociar los menues al tenant - $tenant->menues()->sync(Menu::whereIn('code', $menuCodes)->pluck('code')); + $tenant->menues()->sync($menuCodes); } } }