'decimal:2', 'original_amount' => 'decimal:2', 'amount_usd' => 'decimal:2', 'remaining' => 'decimal:2', 'request_date' => 'date', 'approval_date' => 'datetime', 'approved_at' => 'datetime', ]; public function tenant() { return $this->belongsTo(Tenant::class); } public function project() { return $this->belongsTo(Project::class); } public function currency() { return $this->belongsTo(Currency::class); } public function requestedBy() { return $this->belongsTo(User::class, 'requested_by'); } public function approvedBy() { return $this->belongsTo(User::class, 'approved_by'); } public function expenses() { return $this->hasMany(Expense::class); } public function scopeByStatus($query, $status) { return $query->where('status', $status); } public function getStatusLabelAttribute() { return [ 'pending' => __('pettyCash.pending'), 'approved' => __('pettyCash.approved'), 'rejected' => __('pettyCash.rejected'), 'settled' => __('pettyCash.settled'), ][$this->status] ?? $this->status; } }