belongsToMany(LocaleProxy::modelClass(), 'channel_locales'); } /** * Get the default locale */ public function default_locale(): BelongsTo { return $this->belongsTo(LocaleProxy::modelClass()); } /** * Get the channel locales. */ public function currencies(): BelongsToMany { return $this->belongsToMany(CurrencyProxy::modelClass(), 'channel_currencies'); } /** * Get the channel inventory sources. */ public function inventory_sources(): BelongsToMany { return $this->belongsToMany(InventorySourceProxy::modelClass(), 'channel_inventory_sources'); } /** * Get the base currency */ public function base_currency(): BelongsTo { return $this->belongsTo(CurrencyProxy::modelClass()); } /** * Get the base currency */ public function root_category(): BelongsTo { return $this->belongsTo(CategoryProxy::modelClass(), 'root_category_id'); } /** * Get logo image url. */ public function logo_url() { if (! $this->logo) { return; } return Storage::url($this->logo); } /** * Get logo image url. */ public function getLogoUrlAttribute() { return $this->logo_url(); } /** * Get favicon image url. */ public function favicon_url() { if (! $this->favicon) { return; } return Storage::url($this->favicon); } /** * Get favicon image url. */ public function getFaviconUrlAttribute() { return $this->favicon_url(); } /** * Create a new factory instance for the model * * @return ChannelFactory */ protected static function newFactory(): ChannelFactory { return ChannelFactory::new(); } }