エラー: Laravel 5.4 の「フィールド 'user_id' にはデフォルト値がありません」
質問:
Deal オブジェクトを使用して新しい一致を作成しようとすると、次のエラーが発生します:
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))
空の $guarded 配列があるにもかかわらず、このエラーが発生するのはなぜですか?
答え:
$guarded 配列は、明示的に指定されたものを除くすべてのフィールドへの一括代入を防ぎます。この問題を解決するには、$guarded 配列を削除し、代わりに $fillable 配列を定義します。
解決策:
Match クラスに次のコードを追加します。
protected $fillable = ['user_id', 'deal_id'];
これにより、新しいマッチングの作成に必要な user_id および deal_id フィールドへの一括割り当てが可能になります。
以上がLaravel 5.4 で新しい一致を作成するときに「フィールド 'user_id' にはデフォルト値がありません」というエラーが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。