with('boardColumns') ->orderBy('id') ->get() ->each(function (Project $project) use ($initializeProjectTicketMetadata): void { $initializeProjectTicketMetadata->handle($project); TicketStatus::factory() ->for($project) ->create([ 'name' => 'Ready', 'position' => $project->ticketStatuses()->whereNull('board_column_id')->count() + 1, ]); $project->boardColumns->each(function (BoardColumn $boardColumn): void { TicketStatus::factory() ->for($boardColumn->project) ->for($boardColumn) ->create([ 'name' => "{$boardColumn->name} Review", 'position' => $boardColumn->ticketStatuses()->count() + 1, ]); }); }); } }