2025-12-29 17:30:17 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace Database\Seeders;
|
|
|
|
|
|
|
|
|
|
use App\Models\Dish;
|
|
|
|
|
use App\Models\Planner;
|
|
|
|
|
use App\Models\User;
|
|
|
|
|
use Illuminate\Database\Seeder;
|
|
|
|
|
use Illuminate\Support\Facades\Hash;
|
|
|
|
|
|
|
|
|
|
class DevelopmentSeeder extends Seeder
|
|
|
|
|
{
|
|
|
|
|
public function run(): void
|
|
|
|
|
{
|
2025-12-29 23:36:15 +01:00
|
|
|
// Only run in development environment, not during testing
|
|
|
|
|
if (app()->environment('testing')) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
2025-12-29 17:30:17 +01:00
|
|
|
// Create main planner
|
|
|
|
|
$planner = Planner::factory()->create([
|
|
|
|
|
'name' => 'Development Planner',
|
|
|
|
|
'email' => 'myrmidex@myrmidex.net',
|
|
|
|
|
'password' => Hash::make('Password'),
|
|
|
|
|
]);
|
|
|
|
|
|
2025-12-29 23:36:15 +01:00
|
|
|
// Create a few users (users don't have email/password - only planners do)
|
|
|
|
|
$users = collect([
|
2025-12-29 17:30:17 +01:00
|
|
|
User::factory()->create([
|
|
|
|
|
'planner_id' => $planner->id,
|
|
|
|
|
'name' => 'Alice Johnson',
|
|
|
|
|
]),
|
|
|
|
|
User::factory()->create([
|
|
|
|
|
'planner_id' => $planner->id,
|
|
|
|
|
'name' => 'Bob Smith',
|
|
|
|
|
]),
|
|
|
|
|
User::factory()->create([
|
|
|
|
|
'planner_id' => $planner->id,
|
|
|
|
|
'name' => 'Charlie Brown',
|
|
|
|
|
]),
|
2025-12-29 23:36:15 +01:00
|
|
|
]);
|
2025-12-29 17:30:17 +01:00
|
|
|
|
|
|
|
|
// Create various dishes
|
|
|
|
|
$dishNames = [
|
|
|
|
|
'Spaghetti Bolognese',
|
|
|
|
|
'Chicken Curry',
|
|
|
|
|
'Caesar Salad',
|
|
|
|
|
'Beef Stir Fry',
|
|
|
|
|
'Vegetable Lasagne',
|
|
|
|
|
'Fish Tacos',
|
|
|
|
|
'Mushroom Risotto',
|
|
|
|
|
'BBQ Ribs',
|
|
|
|
|
'Greek Salad',
|
|
|
|
|
'Pad Thai',
|
|
|
|
|
'Margherita Pizza',
|
|
|
|
|
'Beef Burger',
|
|
|
|
|
'Chicken Fajitas',
|
|
|
|
|
'Vegetable Soup',
|
|
|
|
|
'Salmon Teriyaki',
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
foreach ($dishNames as $dishName) {
|
|
|
|
|
$dish = Dish::factory()->create([
|
|
|
|
|
'planner_id' => $planner->id,
|
|
|
|
|
'name' => $dishName,
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
// Randomly assign dish to 1-3 users
|
|
|
|
|
$assignedUsers = $users->random(rand(1, 3));
|
|
|
|
|
$dish->users()->attach($assignedUsers->pluck('id'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$this->command->info('Development data seeded successfully!');
|
|
|
|
|
$this->command->info('Login credentials: myrmidex@myrmidex.net / Password');
|
|
|
|
|
}
|
|
|
|
|
}
|