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

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'product_id' cannot be null (SQL: insert into `category_product`)

看看我的代码

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]: Integrity constraint violation: 1048 Column 'product_id' cannot be null (SQL: insert into category_product (category_id, product_id) values (1, ?), (2, ?))

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

之前

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

写,

$product->save();

这将在数据库中插入记录,并且 return 最后插入的 ID。然后这将用于插入您的数据透视表 table.