Un modello Eloquent rappresenta i dati dell’applicazione e le operazioni per recuperarli o salvarli. In un progetto Laravel 12, il comando seguente genera un modello Post e, con l’opzione -m, una migrazione da completare:
php artisan make:model Post -m
Il modello si trova normalmente in app/Models. La convenzione associa Post alla tabella posts; generare il file PHP non crea automaticamente la tabella nel database. La migrazione deve definire lo schema ed essere eseguita nell’ambiente corretto.
Leggere soltanto ciò che serve
Presupponendo una tabella posts con id, title e timestamp, una lista paginata può essere costruita così:
use App\Models\Post;
$posts = Post::query()
->select(['id', 'title'])
->orderByDesc('id')
->paginate(20);
La guida Eloquent descrive convenzioni e recupero dei record. Evitare all su tabelle grandi riduce il rischio di caricare più dati di quelli necessari alla pagina.
Gestire assenza e permessi
find può restituire null; findOrFail segnala il record mancante tramite eccezione. In un percorso HTTP, il comportamento va integrato con la gestione degli errori dell’applicazione.
Trovare un record non significa poterlo leggere o modificare. Le Policy Laravel organizzano l’autorizzazione, da verificare rispetto all’utente e al contesto del cliente.
Salvare dati validati
Dopo validazione e autorizzazione, puoi assegnare gli attributi consentiti e chiamare save. Se usi create o fill con un array, configura il mass assignment in modo esplicito.
La lista degli attributi assegnabili non sostituisce la validazione e non è un controllo di accesso. Passare indiscriminatamente tutto l’input della richiesta può rendere modificabili campi che l’utente non dovrebbe controllare.
Decidere il significato della cancellazione
delete elimina il record oppure applica il comportamento di soft delete quando il modello e lo schema lo prevedono. Relazioni, file collegati e sistemi di ricerca richiedono una gestione coerente.
Un modello rende comode le operazioni sui dati. La correttezza del caso d’uso dipende dalle regole attorno a quelle operazioni: input, permessi, transazioni e conseguenze sulle altre risorse.