app/database/seeders/DevelopmentSeeder.php

77 lines
2.3 KiB
PHP
Raw Normal View History

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
{
// Create main planner
$planner = Planner::factory()->create([
'name' => 'Development Planner',
'email' => 'myrmidex@myrmidex.net',
'password' => Hash::make('Password'),
]);
// Create a few users
$users = [
User::factory()->create([
'planner_id' => $planner->id,
'name' => 'Alice Johnson',
'email' => 'alice@example.com',
'password' => Hash::make('Password'),
]),
User::factory()->create([
'planner_id' => $planner->id,
'name' => 'Bob Smith',
'email' => 'bob@example.com',
'password' => Hash::make('Password'),
]),
User::factory()->create([
'planner_id' => $planner->id,
'name' => 'Charlie Brown',
'email' => 'charlie@example.com',
'password' => Hash::make('Password'),
]),
];
// 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');
}
}