# Dettaglio errore 500 - ID 1868

Fonte: MCP `project-0-BiaOnline-biaonline-errors` (`get_system_error_detail`)

## Riepilogo

| Campo | Valore |
|-------|--------|
| **ID** | 1868 |
| **Data/Ora** | 2026-06-01 11:22:29 |
| **Messaggio** | `Array to string conversion` |
| **Eccezione** | `ViewException` |
| **File** | `resources/views/livewire/piani-alimentari-sport/dettaglionew-sport.blade.php` |
| **Riga** | 689 |
| **Route** | `piani-nutrizionali-sport.show` |
| **URL** | `piani-nutrizionali-sport/1944` |
| **Metodo** | `GET` |
| **Utente** | 1289 |
| **Environment** | production |
| **Count** | 1 |

## Causa

`implode("\n", $dettagli['colazione']['alternative'])` con elementi non stringa nel JSON del piano #1944.

## Stack trace (sintesi)

1. `dettaglionew-sport.blade.php` (riga 689)
2. `DettaglioSport` → `HandleComponents::render`
3. `piani-nutrizionali/sport/show.blade.php` (mount Livewire)
4. Pipeline Laravel (auth, permission, session, …)
5. `public/index.php`

## Fix applicato

- Normalizzazione `principale` / `alternative` in `PianoAlimentarePromptService::normalizzaPastiDieta()`
- Uso in `DettaglioSport::pianoDietetico()` e generazione sport
- Vista: `formattaVociPastoPerModale()` al posto di `implode` diretto
