voglio aggiornare il mio modello con codice seguente:caselle di controllo Maniglia in ingresso :: tutti() in laravel 4
$feature = Feature::find($id)->update(Input::all());
Questo funziona per tutti i campi ad eccezione del -field "fatto", che è un valore booleano nel tabella e rappresentata dalla casella di controllo nel modulo di modifica.
{{ Form::label('done', 'Done?')}}
{{ Form::checkbox('done',1)}}
Come posso gestire le caselle di controllo con l'aggiornamento e Input: all()?
Grazie.
Suggerisco di evitare l'uso di 'Input :: all()'. In questo modo, stai consentendo a chiunque abbia una conoscenza minima dell'HTML di aggiornare campi che non dovrebbero essere modificabili sul tuo modello. Anche se definisci $ accessibile dal tuo modello, è troppo rischioso. – vFragosop
Grazie per questo consiglio. Userò 'Input: all()' solo per quei modelli, che l'utente può comunque modificare. Gli attributi che non dovrebbero essere modificati dall'utente saranno quindi protetti. – Strernd
L'uso dell'array $ fillable nel modello è una buona idea quando si utilizza Input :: all(). Dalla documentazione: "La proprietà fillable specifica quali attributi dovrebbero essere assegnabili in serie.Può essere impostato a livello di classe o di istanza.L'inverso di fillable è protetto e funge da" lista nera "anziché da una white-list ". –