name_prefix)) { $arr[] = $this->name_prefix; } $arr[] = $this->name; if (!empty($this->name_suffix)) { $arr[] = $this->name_suffix; } return implode(' ', $arr); } public function addresses() { return $this->morphMany(Address::class, 'addressable'); } public function currentAddress() { return $this->belongsTo(Address::class, 'main_address_id'); } public function domicileAddress() { return $this->belongsTo(Address::class, 'main_address_id'); } public function metas() { return $this->morphMany(Meta::class, 'metaable'); } public function owner() { return $this->belongsTo(User::class, 'owner_user_id'); } public function files() { return $this->morphMany(File::class, 'fileable'); } public function avatar() { return $this->morphOne(File::class, 'fileable')->where('type', 'avatar')->latestOfMany(); } public function familyOwner() { return $this->hasOne(Family::class, 'person_id'); } }