首页 > 解决方案 > Laravel - 错误 - SQLSTATE [HY000]:一般错误:1364 字段 'vegetable_stock_id' 没有默认值

问题描述

我对 Laravel 完全陌生,在我的网站上创建新蔬菜时遇到了 FK 问题。

我有两张桌子,一张叫蔬菜,另一张叫蔬菜库存。这两者与蔬菜迁移中的一个 FK 相关联,称为ve​​getable_stock_id。

这是我的蔬菜桌。

    $table->id(); 
    $table->unsignedBigInteger('vegetable_stock_id');
    $table->unsignedBigInteger('stock');
    $table->string('name', 50);
    $table->float('cost');

这是我的蔬菜库存表

    $table->id();
    $table->unsignedBigInteger('stock');   

在我看来,我有一个用于填写新蔬菜的表格,它应该将项目添加到蔬菜表中,并使用表格中的指定数量更新我的蔬菜库存。

新蔬菜无法成功添加到表中,因为在提交时它正在尝试检索 FK 输入并且我收到错误:

SQLSTATE [HY000]:一般错误:1364 字段 'vegetable_stock_id' 没有默认值...

我不想设置默认值,我希望这样当按下按钮时,在vegetable_Stock 表中创建一个条目,并且表单获取生成的FK,然后用输入的Vector_Stock 表中的库存填充表单中的股票文本框。

任何人都可以建议任何指针吗?

谢谢

标签: sqllaravel

解决方案


更新您的迁移或进行新迁移添加此 $table->unsignedBigInteger('vegetable_stock_id')->nullable();


推荐阅读