'object' ]; public function getClientSettingsObjectAttribute() { return new ClientSettings($this->settings); } public function getHashedIdAttribute() { return $this->encodePrimaryKey($this->id); } public function contacts() { return $this->hasMany(ClientContact::class)->orderBy('is_primary', 'desc'); } public function primary_contact() { return $this->hasMany(ClientContact::class)->whereIsPrimary(true); } public function company() { return $this->belongsTo(Company::class); } public function country() { return $this->belongsTo(Country::class); } public function shipping_country() { return $this->belongsTo(Country::class, 'shipping_country_id', 'id'); } public function timezone() { return Timezone::find($this->getSettings()->timezone_id); } public function getSettings() { return ClientSettings::buildClientSettings($this->company->settings, $this->settings); } }