*/ use HasFactory; protected function casts(): array { return [ 'copy_areas' => 'array', 'configuration_snapshot' => 'array', 'is_published' => 'boolean', ]; } public function scopePublished(Builder $query): Builder { return $query->where('is_published', true); } public function project(): BelongsTo { return $this->belongsTo(Project::class); } public function sourceProject(): BelongsTo { return $this->belongsTo(Project::class, 'source_project_id'); } public function linkedProjects(): HasMany { return $this->hasMany(Project::class, 'project_template_id'); } }