BelongsTo(Country::class, 'country_id', 'id'); } /** * @return BelongsTo */ public function state(): BelongsTo { return $this->BelongsTo(State::class, 'state_id', 'id'); } /** * @return BelongsTo */ public function district(): BelongsTo { return $this->BelongsTo(District::class, 'district_id', 'id'); } /** * @return \Illuminate\Database\Eloquent\Relations\MorphTo */ public function owner(): morphTo { return $this->morphTo(); } /** * @param Builder $query * @return Builder */ public function scopeDefaultAddress(Builder $query) { return $query->where('default', true); } /** * @return MorphMany */ public function contacts(): morphMany { return $this->morphMany(Contact::class, 'owner'); } /** * @return MorphMany */ public function remarks(): morphMany { return $this->morphMany(Remark::class, 'owner'); } }