hasMany('FireflyIII\Models\Account'); } /** * Alias to eloquent many-to-many relation's attach() method. * * Full credit goes to: https://github.com/Zizaco/entrust * * @param mixed $role */ public function attachRole($role) { if (is_object($role)) { $role = $role->getKey(); } if (is_array($role)) { $role = $role['id']; } $this->roles()->attach($role); } /** * @return HasMany */ public function attachments(): HasMany { return $this->hasMany('FireflyIII\Models\Attachment'); } /** * @return HasMany */ public function bills(): HasMany { return $this->hasMany('FireflyIII\Models\Bill'); } /** * @return HasMany */ public function budgets(): HasMany { return $this->hasMany('FireflyIII\Models\Budget'); } /** * @return HasMany */ public function categories(): HasMany { return $this->hasMany('FireflyIII\Models\Category'); } /** * @return HasMany */ public function exportJobs(): HasMany { return $this->hasMany('FireflyIII\Models\ExportJob'); } /** * Checks if the user has a role by its name. * * Full credit goes to: https://github.com/Zizaco/entrust * * @param string $name * * @return bool */ public function hasRole(string $name): bool { foreach ($this->roles as $role) { if ($role->name == $name) { return true; } } return false; } /** * @return HasMany */ public function importJobs(): HasMany { return $this->hasMany('FireflyIII\Models\ImportJob'); } /** * @return HasManyThrough */ public function piggyBanks(): HasManyThrough { return $this->hasManyThrough('FireflyIII\Models\PiggyBank', 'FireflyIII\Models\Account'); } /** * @return HasMany */ public function preferences(): HasMany { return $this->hasMany('FireflyIII\Models\Preference'); } /** * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany */ public function roles(): BelongsToMany { return $this->belongsToMany('FireflyIII\Models\Role'); } /** * @return HasMany */ public function ruleGroups(): HasMany { return $this->hasMany('FireflyIII\Models\RuleGroup'); } /** * @return HasMany */ public function rules(): HasMany { return $this->hasMany('FireflyIII\Models\Rule'); } /** * @return HasMany */ public function tags(): HasMany { return $this->hasMany('FireflyIII\Models\Tag'); } /** * @return HasMany */ public function transactionJournals(): HasMany { return $this->hasMany('FireflyIII\Models\TransactionJournal'); } /** * @return HasManyThrough */ public function transactions(): HasManyThrough { return $this->hasManyThrough('FireflyIII\Models\Transaction', 'FireflyIII\Models\TransactionJournal'); } }