format('Ym').'-'; $last = WorkOrder::withTrashed() ->where('business_id', $business->id) ->where('work_order_number', 'like', $prefix.'%') ->orderByDesc('id') ->value('work_order_number'); $seq = 1; if ($last && preg_match('/-(\d+)$/', $last, $m)) { $seq = (int) $m[1] + 1; } return $prefix.str_pad((string) $seq, 4, '0', STR_PAD_LEFT); } }