*/ use Concerns\HasTurkishSlug, HasFactory, LogsActivity, SoftDeletes; /** * @var list */ protected $fillable = [ 'category_id', 'slug', 'title', 'sub', 'desc', 'long_desc', 'duration', 'students', 'rating', 'badge', 'menu_order', 'image', 'price', 'includes', 'requirements', 'meta_title', 'meta_description', 'scope', 'standard', 'language', 'location', ]; /** * @return array */ protected function casts(): array { return [ 'badge' => CourseBadge::class, 'includes' => 'array', 'requirements' => 'array', 'scope' => 'array', 'students' => 'integer', 'rating' => 'decimal:1', ]; } /** * @return BelongsTo */ public function category(): BelongsTo { return $this->belongsTo(Category::class); } /** * @return HasMany */ public function schedules(): HasMany { return $this->hasMany(CourseSchedule::class); } /** * @return HasMany */ public function blocks(): HasMany { return $this->hasMany(CourseBlock::class)->orderBy('order_index'); } /** * @return MorphMany */ public function comments(): MorphMany { return $this->morphMany(Comment::class, 'commentable'); } public function getActivitylogOptions(): LogOptions { return LogOptions::defaults() ->logFillable() ->logOnlyDirty(); } }