'double', 'budget_duration_sec' => 'integer', 'created_at' => 'datetime', 'updated_at' => 'datetime', ]; } public function gatewayUsers() { return $this->hasMany(GatewayUser::class, 'budget_id', 'budget_id'); } public function getMaxBudgetFormattedAttribute() { return '$' . number_format($this->max_budget, 2); } public function getDurationHumanAttribute() { if (!$this->budget_duration_sec) return 'No limit'; $days = floor($this->budget_duration_sec / 86400); $hours = floor(($this->budget_duration_sec % 86400) / 3600); return "{$days}d {$hours}h"; } }