format('Y'); $prefix = 'HD-' . $year . '-'; $last = Ticket::query() ->where('reference', 'like', $prefix . '%') ->latest('id') ->value('reference'); $next = $last ? ((int) substr((string) $last, -5)) + 1 : 1; return $prefix . str_pad((string) $next, 5, '0', STR_PAD_LEFT); } }