'integer', 'active' => 'boolean', ]; protected static function booted() { static::creating(function ($model) { if (!$model->created_by) { $model->created_by = auth()->id(); } }); } public function registerMediaConversions(Media $media = null): void { $this ->addMediaConversion('preview') ->fit(Manipulations::FIT_CROP, 300, 300) ->nonQueued(); $this->addMediaConversion('thumb') ->fit(Manipulations::FIT_CROP, 130, 130) ->width(130) ->height(130); } public function registerMediaCollections(): void { $this->addMediaCollection('avatar') ->singleFile() ->useFallbackUrl(asset('img/einundzwanzig.png')); $this->addMediaCollection('images') ->useFallbackUrl(asset('img/einundzwanzig.png')); } /** * Get the options for generating the slug. */ public function getSlugOptions(): SlugOptions { return SlugOptions::create() ->generateSlugsFrom(['name']) ->saveSlugsTo('slug') ->usingLanguage(Cookie::get('lang', config('app.locale'))); } public function createdBy(): BelongsTo { return $this->belongsTo(User::class, 'created_by'); } public function team(): BelongsTo { return $this->belongsTo(Team::class); } public function courses(): HasMany { return $this->hasMany(Course::class); } public function coursesEvents(): HasManyThrough { return $this->hasManyThrough(CourseEvent::class, Course::class); } public function libraryItems(): HasMany { return $this->hasMany(LibraryItem::class); } }