Ich habe ungefähr 200 Felder in einer Tabelle, die nummeriert sind:
%Vor%Ich habe versucht, Daten in die Tabelle einzufügen:
%Vor% Wo $data
ein Mehrfaches Array ist:
Kann ich *
in der Option protected $fillable = ["*"];
setzen, um alle Felder ausfüllbar zu machen?
Wenn Sie alle Spalten als befüllbar festlegen müssen, tun Sie dies im Modell:
%Vor%Wenn Sie möchten, dass alle Attribute massenweise zuweisbar sind, können Sie die Eigenschaft $ guarded als leeres Array definieren
In einem solchen Szenario können Sie versuchen, das Gegenteil zu tun. Zum Beispiel: id
, created_at
und updated_at
Feld als $ geschützt. Wie:
Mit Ausnahme dieser Ruhepositionen wird fillable
, d. h. mass assignable , berücksichtigt.
Details finden Sie in Offizieller Laravel-Dokument
Schutzattribute
Während $ fillable als " weiße Liste " von Attributen fungiert, die sein sollten Zuweisbare Masse, Sie können auch $ bewacht verwenden. Der $ bewacht Eigenschaft sollte ein Array von Attributen enthalten, die Sie nicht möchten Masse zuweisbar sein. Alle anderen Attribute, die nicht im Array enthalten sind, sind Masse zuweisbar. Daher funktioniert $ überwacht wie eine " schwarze Liste ". Na sicher, Sie sollten entweder $ fillable oder $ guarded verwenden - nicht beides.
Beispiel Betrachten Sie die Zahlung als Modell. Das kannst du so machen
%Vor%Tags und Links laravel-5 laravel laravel-5.3 eloquent