*/ public function category(): BelongsTo { return $this->belongsTo(Category::class); } /** * @return BelongsTo */ public function creator(): BelongsTo { return $this->belongsTo(User::class, 'created_by'); } /** * @return HasMany */ public function keys(): HasMany { return $this->hasMany(TemplateKey::class)->orderBy('sort_order'); } /** * @return HasMany */ public function generations(): HasMany { return $this->hasMany(TemplateGeneration::class)->latest(); } /** * @return array */ protected function casts(): array { return [ 'is_active' => 'boolean', 'is_ai_enabled' => 'boolean', 'ai_repeatable_slide_number' => 'integer', ]; } }