MassAssignmentException in Laravel
Ich bin ein Laravel-Neuling. Ich möchte meine Datenbank seeden. Wenn ich den Seed-Befehl ausführe, erhalte ich eine Ausnahme
[Illuminate\Database\Eloquent\MassAssignmentException]
username
db:seed [--class[="..."]] [--database[="..."]]
Was mache ich falsch? Der Befehl, den ich verwende, lautet:
php artisan db:seed --class="UsersTableSeeder"
Meine Saatgutklasse ist wie folgt:
class UsersTableSeeder extends Seeder {
public function run()
{
User::truncate();
User::create([
'username' => 'PaulSheer',
'email' => 'psheer@rute.co.za',
'password' => '45678'
]);
User::create([
'username' => 'Stevo',
'email' => 'steve@rute.co.za',
'password' => '45678'
]);
}
}
101
3
Lesen Sie diesen Abschnitt des Laravel-Dokuments: http://laravel.com/docs/eloquent#mass-assignment
Laravel bietet standardmäßig einen Schutz gegen Massenzuweisung Sicherheitsprobleme. Deshalb müssen Sie manuell festlegen, welche Felder massenhaft zugewiesen werden können:
Warnung : Seien Sie vorsichtig, wenn Sie die massenhafte Zuweisung kritischer Felder wie
Passwort
oderRolle
erlauben. Dies könnte zu einem Sicherheitsproblem führen, da Benutzer die Werte dieser Felder aktualisieren könnten, obwohl Sie dies nicht wollen.Ich war die MassAssignmentException erhalten, wenn ich mein Modell wie folgt erweitert haben.
Ich habe versucht, Array wie folgt einzufügen
Problem wurde behoben, als ich das Upload Model als
Referenz https://github.com/aidkit/aidkit/issues/2#issuecomment-21055670
Wenn Sie Tabellen und Felder in der Datenbank haben, können Sie einfach diesen Befehl verwenden: