Fehler: „Feld ‚user_id‘ hat keinen Standardwert“ in Laravel 5.4
Frage:
Beim Versuch, eine neue Übereinstimmung mithilfe eines Deal-Objekts zu erstellen, tritt der folgende Fehler auf:
QueryException in Connection.php line 647: SQLSTATE[HY000]: General error: 1364 Field 'user_id' doesn't have a default value (SQL: insert into matches (deal_id) values (1))
Warum wird dieser Fehler ausgelöst, obwohl ein leeres $guarded-Array vorhanden ist?
Antwort:
Das $guarded-Array verhindert die Massenzuweisung zu allen Feldern außer den explizit genannten. Um das Problem zu beheben, entfernen Sie das $guarded-Array und definieren Sie stattdessen das $fillable-Array.
Lösung:
Fügen Sie in der Match-Klasse Folgendes hinzu:
protected $fillable = ['user_id', 'deal_id'];
Dies ermöglicht eine Massenzuweisung zu den Feldern „user_id“ und „deal_id“, die zum Erstellen einer neuen Übereinstimmung erforderlich sind.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Fehlermeldung „Feld ‚user_id' hat keinen Standardwert', wenn ich in Laravel 5.4 eine neue Übereinstimmung erstelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!