|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/erp.theinteractive.co.in/app/Models/ |
Upload File : |
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class ChartOfAccount extends Model
{
protected $fillable = [
'name',
'code',
'type',
'sub_type',
'parent',
'is_enabled',
'description',
'created_by',
];
public function types()
{
return $this->hasOne('App\Models\ChartOfAccountType', 'id', 'type');
}
public function accounts()
{
return $this->hasOne('App\Models\JournalItem', 'account', 'id');
}
public function balance()
{
$journalItem = JournalItem::select(\DB::raw('sum(credit) as totalCredit'),
\DB::raw('sum(debit) as totalDebit'),
\DB::raw('sum(credit) - sum(debit) as netAmount'))->where('account', $this->id);
$journalItem = $journalItem->first();
$data['totalCredit'] = $journalItem->totalCredit;
$data['totalDebit'] = $journalItem->totalDebit;
$data['netAmount'] = $journalItem->netAmount;
return $data;
}
public function subType()
{
return $this->hasOne('App\Models\ChartOfAccountSubType', 'id', 'sub_type');
}
public function parentAccount()
{
return $this->hasOne('App\Models\ChartOfAccountParent', 'id', 'parent');
}
}