'boolean', ]; } public function getContactFullNameAttribute(): ?string { if (! $this->contact_first_name) { return null; } return trim("{$this->contact_first_name} {$this->contact_last_name}"); } public function organisation(): BelongsTo { return $this->belongsTo(Organisation::class); } public function persons(): HasMany { return $this->hasMany(Person::class); } public function artistsAsAgent(): HasMany { return $this->hasMany(Artist::class, 'agent_company_id'); } /** @param Builder $query */ public function scopeOrdered(Builder $query): Builder { return $query->orderBy('name'); } }