Files
pollux/app/AccountType.php
T

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();
}
}