orderBy('id') ->get() ->each(function (Project $project) use ($createProjectTicket, $initializeProjectTicketMetadata): void { $initializeProjectTicketMetadata->handle($project); $priority = $project->ticketPriorities()->first(); if ($priority === null) { $priority = TicketPriority::factory()->for($project)->create([ 'name' => 'Medium', 'position' => 1, ]); } $defaultType = $project->ticketTypes()->firstOrFail(); $createProjectTicket->handle($project, [ 'acceptance_criteria' => 'The seeded ticket should be visible in the backlog list.', 'description' => 'Seeded backlog item for demonstrating the first ticket workflow.', 'ticket_priority_id' => $priority->id, 'ticket_type_id' => $defaultType->id, 'title' => 'Seed backlog item', ]); $createProjectTicket->handle($project, [ 'acceptance_criteria' => 'Duplicate titles must be allowed for project-local ticket keys.', 'description' => 'Second seeded backlog item using the same title on purpose.', 'ticket_priority_id' => $priority->id, 'ticket_type_id' => $defaultType->id, 'title' => 'Seed backlog item', ]); }); } }