format('Ym') . '-'; $lastQuote = self::where('reference', 'like', $prefix . '%') ->orderBy('reference', 'desc') ->first(); if ($lastQuote) { $lastNumber = intval(substr($lastQuote->reference, -4)); $newNumber = $lastNumber + 1; } else { $newNumber = 1; } $quote->reference = $prefix . str_pad((string)$newNumber, 4, '0', STR_PAD_LEFT); }); } protected $casts = [ 'quote_date' => 'date', 'valid_until' => 'date', 'total_ht' => 'decimal:2', 'total_tva' => 'decimal:2', 'total_ttc' => 'decimal:2', ]; public function client() { return $this->belongsTo(Client::class); } public function group() { return $this->belongsTo(ClientGroup::class); } }