first(); if (!$superAdmin) { $this->command->warn('No super admin user found. Please run UserSeeder first.'); return; } $this->createNewslettersForUser($superAdmin); } else { // For non-SaaS mode - create newsletters for companies $companies = User::where('type', 'company')->get(); if ($companies->isEmpty()) { $this->command->warn('No company users found. Please run DefaultCompanySeeder first.'); return; } foreach ($companies as $company) { $this->createNewslettersForUser($company); } } $this->command->info('NewsletterSeeder completed successfully!'); } private function createNewslettersForUser($user) { // Sample newsletter subscription data $newsletters = [ ['email' => 'john.doe@example.com', 'status' => 'subscribed'], ['email' => 'jane.smith@company.com', 'status' => 'subscribed'], ['email' => 'michael.johnson@business.org', 'status' => 'subscribed'], ['email' => 'sarah.williams@startup.io', 'status' => 'subscribed'], ['email' => 'david.brown@enterprise.com', 'status' => 'subscribed'], ['email' => 'lisa.davis@tech.com', 'status' => 'subscribed'], ['email' => 'robert.miller@consulting.net', 'status' => 'subscribed'], ['email' => 'jennifer.wilson@nonprofit.org', 'status' => 'subscribed'], ['email' => 'mark.taylor@agency.com', 'status' => 'subscribed'], ['email' => 'amanda.anderson@corporation.net', 'status' => 'subscribed'], ['email' => 'chris.martinez@solutions.com', 'status' => 'subscribed'], ['email' => 'emily.garcia@innovations.net', 'status' => 'subscribed'], ['email' => 'daniel.rodriguez@systems.org', 'status' => 'subscribed'], ['email' => 'michelle.lopez@services.com', 'status' => 'subscribed'], ['email' => 'kevin.hernandez@digital.io', 'status' => 'subscribed'], ['email' => 'rachel.gonzalez@creative.net', 'status' => 'subscribed'], ['email' => 'brian.perez@marketing.com', 'status' => 'subscribed'], ['email' => 'stephanie.sanchez@design.org', 'status' => 'subscribed'], ['email' => 'jason.ramirez@development.com', 'status' => 'subscribed'], ['email' => 'nicole.torres@management.net', 'status' => 'subscribed'] ]; // Create all newsletters for each user foreach ($newsletters as $newsletter) { try { NewsLetter::updateOrCreate( [ 'email' => $newsletter['email'] ], [ 'status' => $newsletter['status'], ] ); } catch (\Exception $e) { $this->command->error('Failed to create/update newsletter: ' . $newsletter['email'] . ' for user: ' . $user->name); continue; } } } }