SQLSTATE [23000]:违反完整性约束:1048列“ product_id”不能为空(SQL:插入到“ category_product”中)

时间:2019-05-14 05:15:52

标签: laravel-5.8

看看我的密码

public function store(ProductRequest $request)
{
    $product = new Product();
    $product->user_id = auth()->user()->id;
    $product->title = $request->title;
    $product->body = $request->body;
    $product->price = $request->price;
    $product->categories()->attach($request->category);
    $image = $request->image;
    $filename = $image->getClientOriginalName();
    $image->move(public_path('images/products'), $filename);
    $product->image = $image;

    return redirect()->route('products.index');
}

我收到此错误

  

SQLSTATE [23000]:违反完整性约束:1048列'product_id'不能为null(SQL:插入category_productcategory_idproduct_id)值(1,?), (2,?))

但是我已经选择了一个产品类别。

1 个答案:

答案 0 :(得分:1)

之前

  

$ product-> categories()-> attach($ request-> category);

$product->save();

这将在数据库中插入记录,并返回最后的插入ID。然后将其插入到数据透视表中。