L'uso dei modelli è uno dei fatti migliori in Laravel, ma quando si utilizza un modello, non è come il mio ambiente "nativo" (J2EE, i modelli dichiarano tutte le colonne della tabella DB), ha tre variabili e quale di esse è " riempibile". Quando si visualizzano le esercitazioni online, i compilabili contengono alcuni dati specifici come in una tabella:
Table : Users
Fields : Name, Email, Id, Password
Mettono protected $fillable = ['nom', 'email', 'password'];
il che significa che ci siamo sbarazzati dell'ID .. Ma la parola fillable significa qualcosa che possiamo riempire ed è logico che l'ID sia auto-incrementato, ma diciamo che voglio eseguire qualche aggiornamento SOLO il campo del nome, restituirà un errore perché l'istruzione compilabile contiene 2 campi aggiuntivi? Come nella loro documentazione:
You may also use the create method to save a new model in a single line.
The inserted model instance will be returned to you from the method.
However, before doing so, you will need to specify either a fillable or
guarded attribute on the model, as all Eloquent models protect against
mass-assignment.
A mass-assignment vulnerability occurs when a user passes an unexpected
HTTP parameter through a request, and that parameter changes a column in
your database you did not expect. For example, a malicious user might send
an is_admin parameter through an HTTP request, which is then mapped onto
your model's create method, allowing the user to escalate themselves to an
administrator.
Da cui riprendo: Se un singolo input viene inviato in una richiesta HTTP SENZA altri input (di massa), si fermerà? O che l'utente deve inserire ciascuno di essi in input per farli inserire? In tal caso cosa succede se un valore non è impostato (null)? Sarà considerato come non riempito?