56 lines
1.3 KiB
PHP
56 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App;
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
class AccountType extends Model
|
|
{
|
|
/*
|
|
* Get the account class of the account type.
|
|
*
|
|
* @return Illuminate\Database\Eloquent\Relations\BelongsTo
|
|
*/
|
|
public function accountClass()
|
|
{
|
|
return $this->belongsTo('App\AccountClass');
|
|
}
|
|
|
|
/*
|
|
* Get the IO-type of the account type.
|
|
*
|
|
* @return Illuminate\Database\Eloquent\Relations\BelongsTo
|
|
*/
|
|
public function ioType()
|
|
{
|
|
return $this->accountClass->ioType();
|
|
}
|
|
|
|
/*
|
|
* Get all account types which are expeditures.
|
|
*
|
|
* @return Illuminate\Database\Eloquent\Collection
|
|
*/
|
|
public static function expeditures()
|
|
{
|
|
return AccountType::whereHas('accountClass', function ($query) {
|
|
$query->whereHas('ioType', function ($query) {
|
|
$query->where('i_o_types.name', 'Ausgabe');
|
|
});
|
|
})->get();
|
|
}
|
|
|
|
/*
|
|
* Get all account types which are incomes.
|
|
*
|
|
* @return Illuminate\Database\Eloquent\Collection
|
|
*/
|
|
public static function incomes() {
|
|
return AccountType::whereHas('accountClass', function ($query) {
|
|
$query->whereHas('ioType', function ($query) {
|
|
$query->where('i_o_types.name', 'Einnahme');
|
|
});
|
|
})->get();
|
|
}
|
|
}
|