public function getNextCode() { $latest = Parcels::max('code'); $latestfromBatch = Batch::max('code'); $thisDay = Carbon::now()->format('ymd'); if (!$latest || $thisDay != substr($latest, 0, 6)) { return Carbon::now()->format('ymdH') . '001'; } if ($latestfromBatch && $latestfromBatch > $latest) { return ++$latestfromBatch; } return ++$latest; }