*/ protected function casts(): array { return [ 'hero_config' => 'array', 'event_config' => 'array', ]; } /** * @return BelongsTo */ public function headerLogo(): BelongsTo { return $this->belongsTo(Attachment::class, 'header_logo_id'); } /** * @return BelongsTo */ public function footerLogo(): BelongsTo { return $this->belongsTo(Attachment::class, 'footer_logo_id'); } /** * @return BelongsTo */ public function heroBgImage(): BelongsTo { return $this->belongsTo(Attachment::class, 'hero_bg_image_id'); } /** * @return BelongsToMany */ public function mainCarouselImages(): BelongsToMany { return $this->belongsToMany( Attachment::class, 'tenant_main_carousel_images', 'tenant_id', 'attachment_id' ) ->withPivot('orden') ->withTimestamps() ->orderByPivot('orden'); } public function catalogItems(): HasMany { return $this->hasMany(CatalogItem::class, 'tenant_code', 'codigo'); } /** * @return BelongsToMany */ public function socialMedia(): BelongsToMany { return $this->belongsToMany( SocialMedia::class, 'tenant_social_media', 'tenant_code', 'social_media_code', 'codigo', 'code' ) ->withPivot('url') ->withTimestamps(); } public function menues(): BelongsToMany { return $this->belongsToMany( Menu::class, 'tenant_menues', 'tenant_codigo', 'menu_code', 'codigo', 'code' )->withTimestamps(); } }