morphMany(Contact::class, 'contactable'); } public function currency(): BelongsTo { return $this->belongsTo(Currency::class, 'currency_code', 'code'); } public function addresses(): MorphMany { return $this->morphMany(Address::class, 'addressable'); } public function billingAddress(): MorphOne { return $this->morphOne(Address::class, 'addressable') ->where('type', AddressType::Billing); } public function shippingAddress(): MorphOne { return $this->morphOne(Address::class, 'addressable') ->where('type', AddressType::Shipping); } }