Laravel 5.4 の「フィールドにデフォルト値がありません」エラーを解決する
Deal を使用して新しい Match エンティティを作成しようとしたときモデルを使用すると、「フィールド 'user_id' にはデフォルト値がありません。」というエラーが発生する場合があります。この問題は、Match クラスで空の保護された配列を定義しているにもかかわらず発生します。
この問題を解決するには、保護された配列を入力可能な配列に置き換える必要があります。
protected $guarded = []; protected $fillable = ['user_id', 'deal_id'];
入力可能な配列を指定することにより、では、モデルに一括割り当てできるフィールドを明示的に定義します。これにより、一致エンティティの作成または更新時に、承認されたフィールドのみが更新されるようになります。
入力可能な配列には、一括代入構文を使用してモデルを作成または更新するときに設定できるすべてのフィールドが含まれている必要があります。この場合、新しいマッチを作成するときに user_id と deal_id の両方を設定できるようにする必要があります。
この変更を行うと、「フィールドが拒否されました」というメッセージを受け取ることなく、新しいマッチ エンティティを作成できるようになります。デフォルト値がありません」エラー。
以上がLaravel 5.4の「フィールドにデフォルト値がありません」エラーを修正する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。