Bei der Massenzuweisung wird ein Array von Daten gesendet, die sofort im angegebenen Modell gespeichert werden. Im Allgemeinen müssen Sie die Daten Ihres Modells nicht einzeln speichern, sondern in einem einzigen Prozess.
Die Massenzuweisung ist gut, aber es gibt bestimmte Sicherheitsprobleme. Was ist, wenn jemand einen Wert an das Modell übergibt und ohne Schutz definitiv alle Felder einschließlich der ID ändern kann? Das ist nicht gut.
Angenommen, Sie haben eine ' Schülertabelle ' mit den Feldern "Schülertyp, Vorname, Nachname" . Sie möchten möglicherweise "Vorname, Nachname" massenweise zuweisen, aber Sie möchten den Schülertyp vor einer direkten Änderung schützen . Hier finden ausfüllbare und geschützte statt.
Mit Fillable können Sie angeben, welche Felder in Ihrem Modell massenzuweisbar sind. Sie können dies tun, indem Sie $fillable
dem Modell die spezielle Variable hinzufügen . Also im Modell:
class Student extends Model {
protected $fillable = ['first_name', 'last_name']; //only the field names inside the array can be mass-assign
}
Der ' student_type ' ist nicht enthalten, was bedeutet, dass sie ausgenommen sind.
Geschützt ist die Rückseite von füllbar. Wenn ausfüllbar angibt, welche Felder massenweise zugewiesen werden sollen, gibt bewacht an, welche Felder nicht massenzuweisbar sind. Also im Modell:
class Student extends Model {
protected $guarded = ['student_type']; //the field name inside the array is not mass-assignable
}
Sie sollten entweder $ fillable oder $ guarded verwenden - nicht beide.
Für weitere Details öffnen Sie den Link: - Massenzuweisung