'integer', 'created_by' => 'integer', 'type' => SelfHostedServiceType::class, ]; protected static function booted(): void { static::creating(function ($model): void { // Only set created_by if user is authenticated and not explicitly set as anonymous if (auth()->check() && !isset($model->created_by)) { $model->created_by = auth()->id(); } }); } public function getSlugOptions(): SlugOptions { return SlugOptions::create() ->generateSlugsFrom(['name']) ->saveSlugsTo('slug') ->usingLanguage(Cookie::get('lang', config('app.locale'))); } public function registerMediaConversions(Media $media = null): void { $this ->addMediaConversion('preview') ->fit(Fit::Crop, 300, 300) ->nonQueued(); $this ->addMediaConversion('thumb') ->fit(Fit::Crop, 130, 130) ->width(130) ->height(130); } public function registerMediaCollections(): void { $this ->addMediaCollection('logo') ->singleFile() ->useFallbackUrl(asset('img/einundzwanzig.png')); } public function createdBy(): BelongsTo { return $this->belongsTo(User::class, 'created_by'); } }