image) { return asset(self::$publicPathImage . $this->image); } return null; } public function expense_account() { return $this->belongsTo(ChartOfAccount::class)->withoutGlobalScopes(); } public function payment_account() { return $this->belongsTo(ChartOfAccount::class)->withoutGlobalScopes(); } public function taxDeducated() { return $this->hasOne(TaxDeducated::class); } public function tax() { return $this->belongsTo(Tax::class); } public function service_center() { return $this->belongsTo(ServiceCenter::class); } public function supplier() { return $this->belongsTo(Supplier::class); } public function customer() { return $this->belongsTo(Customer::class); } public function getTotalAmountAttribute() { return (int) ($this->amount && $this->tax_rate ? $this->amount + $this->amount * $this->tax_rate / 100 : $this->amount ?? "0"); } public function scopeSumAllTaxRate($q) { return $q->selectRaw(" ( COALESCE( CAST(SUM(amount * tax_rate/100) AS SIGNED) ,0) ) AS all_tax_rate "); } public function project() { return $this->belongsTo(Project::class); } public function getProjectSubconAttribute() { if ($this->project) { return $this->project->project_subcon; } return null; } }