在Laravel 6中保存多对多关系

在Laravel 6中保存多对多关系,laravel,eloquent,Laravel,Eloquent,我有两个表Product和Order,它们是多对多。因此,我在它们中间创建了另一个表order\u Table 我试图保存关系多对多,但得到的错误是单价没有默认值 在产品模型中 有序模型 为了得到产品模式 在ProductController中 我将感谢你的帮助。。。。谢谢……验证数据以确保其存在 $data = $this->validate($request, [ 'unit_price' => 'required|numeric' ]); $data['unit_price']

我有两个表
Product
Order
,它们是
多对多
。因此,我在它们中间创建了另一个表
order\u Table

我试图保存关系
多对多
,但得到的错误是
单价
没有默认值

在产品模型中

有序模型

为了得到产品模式

在ProductController中


我将感谢你的帮助。。。。谢谢……

验证数据以确保其存在

$data = $this->validate($request, [
'unit_price' => 'required|numeric'
]);
$data['unit_price'];
使用get方法并指定回退

$product->orders()->attach($order, [
'unit_price' => $request->get('unit_price', 0)
]);
完成后,使用“仅”填充枢轴以便于使用:

$product->orders()->attach(
$order, $request->only(['unit_price'])
);

我得到错误单位\u价格没有默认值。

这是一个数据库问题。请为
单价
列设置
默认值

    public function create(Request $request)
    {
        $request->validate([
            'name' => 'required',
            'price' => 'required',
            'description' => 'nullable',
        ]);

        $product = new Product();
        $product->name = $request->input('name');
        $product->price = $request->input('price');
        $product->status = $request->input('status');
        $product->description = $request->input('description');
        $product->save();

        $orders = new \App\Order();
        $orders->unit_price = $request->unit_price;
        $product->orders()->attach($orders);

        return response()->json(['created' => true]);
    }
$data = $this->validate($request, [
'unit_price' => 'required|numeric'
]);
$data['unit_price'];
$product->orders()->attach($order, [
'unit_price' => $request->get('unit_price', 0)
]);
$product->orders()->attach(
$order, $request->only(['unit_price'])
);