belongsTo('App\AccountClass'); } /************************************************************************** * INDIRECT RELATIONS * **************************************************************************/ /** * 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(); } /************************************************************************** * INDIRECT PROPERTIES * **************************************************************************/ /** * Returns the name and number of the account-type as string. * * @return string */ public function numberAndName() { return $this->number . ' - ' . $this->name; } }