like('po_number', $prefix, 'after') ->orderBy('po_id', 'DESC') ->first(); $seq = 1; if ($row && !empty($row['po_number'])) { $parts = explode('-', $row['po_number']); $lastSeq = (int) end($parts); if ($lastSeq > 0) { $seq = $lastSeq + 1; } } return $prefix . '-' . str_pad((string)$seq, 4, '0', STR_PAD_LEFT); } }