From fa3cb218a9fc4ff64025dbf48c3ddc5a9160672f Mon Sep 17 00:00:00 2001 From: myrmidex Date: Thu, 8 Jan 2026 21:54:11 +0100 Subject: [PATCH] Fix production issues --- app/Models/Planner.php | 7 +++++++ src/DishPlanner/Planner/Actions/SeedDemoPlannerAction.php | 3 +-- .../Schedule/Actions/RegenerateScheduleDayAction.php | 8 ++++---- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/app/Models/Planner.php b/app/Models/Planner.php index 42d9b22..947a5d9 100644 --- a/app/Models/Planner.php +++ b/app/Models/Planner.php @@ -2,6 +2,7 @@ namespace App\Models; +use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Foundation\Auth\User as Authenticatable; @@ -12,6 +13,7 @@ /** * @property int $id * @property static PlannerFactory factory($count = null, $state = []) + * @property Collection $users * @method static first() * @method static create(array $array) */ @@ -35,4 +37,9 @@ public function schedules(): HasMany { return $this->hasMany(Schedule::class); } + + public function users(): HasMany + { + return $this->hasMany(User::class); + } } diff --git a/src/DishPlanner/Planner/Actions/SeedDemoPlannerAction.php b/src/DishPlanner/Planner/Actions/SeedDemoPlannerAction.php index 9ed134e..78b2ec4 100644 --- a/src/DishPlanner/Planner/Actions/SeedDemoPlannerAction.php +++ b/src/DishPlanner/Planner/Actions/SeedDemoPlannerAction.php @@ -92,8 +92,7 @@ private function createDishes(Planner $planner, array $users): void // Randomly assign dish to 1-3 users $count = rand(1, count($users)); - $assignedUsers = collect($users)->random($count); - $userIds = $count === 1 ? [$assignedUsers->id] : $assignedUsers->pluck('id'); + $userIds = collect($users)->random($count)->pluck('id'); $dish->users()->attach($userIds); } } diff --git a/src/DishPlanner/Schedule/Actions/RegenerateScheduleDayAction.php b/src/DishPlanner/Schedule/Actions/RegenerateScheduleDayAction.php index e4416fe..85f0e8f 100644 --- a/src/DishPlanner/Schedule/Actions/RegenerateScheduleDayAction.php +++ b/src/DishPlanner/Schedule/Actions/RegenerateScheduleDayAction.php @@ -10,9 +10,9 @@ class RegenerateScheduleDayAction { public function execute(Planner $planner, Schedule $schedule, bool $overwrite = false): void { - User::all() - ->each(fn (User $user) => resolve(RegenerateScheduleDayForUserAction::class) - ->execute($planner, $schedule, $user, $overwrite) - ); + /** @var RegenerateScheduleDayForUserAction $action */ + $action = resolve(RegenerateScheduleDayForUserAction::class); + + $planner->users->each(fn (User $user) => $action->execute($planner, $schedule, $user, $overwrite)); } }