reject(fn ($user) => $schedule ->scheduledUserDishes ->map(fn (ScheduledUserDish $scheduledUserDish) => $scheduledUserDish->userDish?->user) ->filter() ->contains($user) ) ->each(fn (User $user) => $user->userDishes->isNotEmpty() && ScheduledUserDish::create([ 'schedule_id' => $schedule->id, 'user_dish_id' => $user->userDishes->random()->id, 'user_id' => $user->id, ])); return $schedule->refresh(); } }