generateDishes($planner); if (is_null($period)) { $dateRangeStart = now(); $dateRangeEnd = now()->addWeeks(2); $period = CarbonPeriod::create($dateRangeStart, $dateRangeEnd); } collect($period) ->each(function ($date) use ($users, $planner) { $schedule = Schedule::factory()->planner($planner)->date($date)->create(); $users ->each(fn (User $user) => ScheduledUserDish::factory() ->schedule($schedule) ->user($user) ->userDish($user->userDishes->random()) ->create() ); }); } }