queryByDonationId($receipt->donation->id)->getAll(); if (empty($eventTickets)) { return; } $event = $eventTickets[0]->event()->get(); $ticketTypes = []; foreach ($eventTickets as $eventTicket) { $ticketType = $eventTicket->ticketType()->get(); $ticketTypeId = $ticketType->id; if (isset($ticketTypes[$ticketTypeId])) { $ticketTypes[$ticketTypeId]['quantity'] += 1; } else { $ticketTypes[$ticketTypeId] = [ 'title' => $ticketType->title, 'quantity' => 1, ]; } } foreach ($ticketTypes as $ticketType) { $detailString = sprintf(__('%s - %s', 'give'), $event->title, $ticketType['title']); $receipt->eventTicketsDetails->addDetail(new ReceiptDetail($detailString, $ticketType['quantity'])); } } }