*/ use HasFactory, HasUlids; protected $fillable = [ 'user_id', 'source', 'formula_version', 'calories', 'proteins', 'carbs', 'fats', 'resting_metabolism', 'maintenance_calories', 'calorie_adjustment_percent', 'calculation_details', 'is_active', 'effective_from', 'effective_until', ]; protected $attributes = [ 'is_active' => true, ]; protected function casts(): array { return [ 'source' => NutritionPlanSource::class, 'calories' => 'integer', 'proteins' => 'float', 'carbs' => 'float', 'fats' => 'float', 'resting_metabolism' => 'integer', 'maintenance_calories' => 'integer', 'calorie_adjustment_percent' => 'float', 'calculation_details' => 'array', 'is_active' => 'boolean', 'effective_from' => 'immutable_datetime', 'effective_until' => 'immutable_datetime', ]; } public function user(): BelongsTo { return $this->belongsTo(User::class); } public function weeklyReviews(): HasMany { return $this->hasMany(WeeklyReview::class); } }