. */ declare(strict_types=1); namespace FireflyIII\Models; use FireflyIII\Support\Models\ReturnsIntegerIdTrait; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\SoftDeletes; class AutoBudget extends Model { use ReturnsIntegerIdTrait; use SoftDeletes; #[\Deprecated] /** @deprecated */ public const int AUTO_BUDGET_ADJUSTED = 3; #[\Deprecated] /** @deprecated */ public const int AUTO_BUDGET_RESET = 1; #[\Deprecated] /** @deprecated */ public const int AUTO_BUDGET_ROLLOVER = 2; protected $casts = [ 'amount' => 'string', 'native_amount' => 'string', ]; protected $fillable = ['budget_id', 'amount', 'period', 'native_amount']; public function budget(): BelongsTo { return $this->belongsTo(Budget::class); } public function transactionCurrency(): BelongsTo { return $this->belongsTo(TransactionCurrency::class); } protected function amount(): Attribute { return Attribute::make( get: static fn ($value) => (string) $value, ); } protected function budgetId(): Attribute { return Attribute::make( get: static fn ($value) => (int) $value, ); } protected function casts(): array { return [ // 'auto_budget_type' => AutoBudgetType::class, ]; } protected function transactionCurrencyId(): Attribute { return Attribute::make( get: static fn ($value) => (int) $value, ); } }