Laravel 5.4 で一致オブジェクトを作成するときに「フィールドにデフォルト値がありません」というエラーが表示されるのはなぜですか?

Barbara Streisand
リリース: 2024-11-10 12:56:02
オリジナル
850 人が閲覧しました

Why Am I Getting the

Laravel 5.4: エラー「フィールドにデフォルト値がありません」

問題:

Deal オブジェクトを通じて新しい Match オブジェクトを作成しようとすると、「フィールド 'user_id' にはデフォルト値がありません」というエラーが表示されます。 Match クラスの $guarded 配列が空の配列に設定されていますが、これでは問題は解決されません。

解決策:

このエラーは、データベース テーブルが一致には user_id 列に null 以外の値が必要です。これを解決するには、Match クラスを更新して、ガードされたフィールドの代わりに入力可能なフィールドを指定します。

protected $fillable = ['user_id', 'deal_id'];
ログイン後にコピー

説明:

Laravel では、デフォルトで、すべてのフィールドがガードされており、一括割り当てできないことを意味します。これはセキュリティ上の脆弱性を防ぐためです。入力可能な配列を定義することにより、どのフィールドを一括割り当てできるかを指定することになります。この場合、新しい Match オブジェクトを作成するときに設定できるのは、user_id フィールドと deal_id フィールドだけです。

ガードされた配列の代わりに入力可能な配列を使用することで、user_id フィールドを設定できるようになります。新しいマッチを作成するとき。これによりエラーが解決され、新しい一致を正常に作成できるようになります。

以上がLaravel 5.4 で一致オブジェクトを作成するときに「フィールドにデフォルト値がありません」というエラーが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート