MassAssignmentException in Laravel

Hier ist ein Beispiel dafür, wie eine MassAssignmentException in Laravel ausgelöst werden kann:

class User extends Model {
    protected $fillable = ['name', 'email', 'password'];
}

$user = new User();
$user->fill(['name' => 'John Doe', 'email' => '[email protected]', 'password' => 'secret', 'admin' => true]);
$user->save();

In diesem Beispiel ist das Modell User so konfiguriert, dass nur die Attribute 'name', 'email' und 'password' massenweise zugewiesen werden können. Wenn jedoch die fill()-Methode aufgerufen und ein Array übergeben wird, das das Attribut 'admin' enthält, wird eine MassAssignmentException ausgelöst, da 'admin' nicht im Array $fillable enthalten ist. Um das zu beheben, müsste man 'admin' zum Array $fillable hinzufügen wie folgt:

class User extends Model {
    protected $fillable = ['name', 'email', 'password','admin'];
}

Auf diese Weise wird das Code keine Ausnahme auslösen.