使用laravel批准订单后减少产品数量

问题描述

我有两个表 order products 。按顺序,该表具有一列 quantity 数量),而products表具有一列 product_unit 。我想在批准订单后自动从product_unit减去数量。请帮忙。这是我的订单控制器方法如下:

public function order_confirm(Request $request,$id)
{
    $order = Order::findOrFail($id);
    $product=Product::all();
    $order->order_status = 'approved';
    $order->save();

 


    DB::table('products')->where('id',$request->input('id'))->decrement('product_unit',$request->input('quantity'));
    
    Toastr::success('Order has been Approved! Please delivery the products','Success');
    return redirect()->back();
}

这是我下面的产品控制器方法

 public function update(Request $request,Product $product)
{
    $order = Order::all();

    $inputs = $request->except('_token');
    $rules = [
        'name' => 'required | min:3','category_id' => 'required| integer','supplier_id' => 'required | integer','code' => 'required','image' => 'nullable | image','buying_date' => 'nullable | date','buying_price' => 'required','selling_price' => 'required','product_unit' => 'required',];

    $validation = Validator::make($inputs,$rules);
    if ($validation->fails())
    {
        return redirect()->back()->withErrors($validation)->withinput();
    }

    $image = $request->file('image');
    $slug =  Str::slug($request->input('name'));
    if (isset($image))
    {
        $currentDate = Carbon::Now()->toDateString();
        $imageName = $slug.'-'.$currentDate.'-'.uniqid().'.'.$image->getClientOriginalExtension();
        if (!Storage::disk('public')->exists('product'))
        {
            Storage::disk('public')->makeDirectory('product');
        }

        // delete old photo
        if (Storage::disk('public')->exists('product/'. $product->image))
        {
            Storage::disk('public')->delete('product/'. $product->image);
        }

        $postimage = Image::make($image)->resize(480,320)->stream();
        Storage::disk('public')->put('product/'.$imageName,$postimage);
    } else
    {
        $imageName = $product->image;
    }

    $buying_date = $request->input('buying_date');
    if (!isset($buying_date))
    {
        $buying_date = $product->buying_date;
    }


    $product->name = $request->input('name');
    $product->category_id = $request->input('category_id');
    $product->supplier_id = $request->input('supplier_id');
    $product->code = $request->input('code');
    $product->buying_date = $buying_date;
    $product->buying_price = $request->input('buying_price');
    $product->selling_price = $request->input('selling_price');
    $product->product_unit = $request->input('product_unit');
    $product->image = $imageName;
    $product->save();

    Toastr::success('Product Successfully Updated','Success!!!');
    return redirect()->route('admin.product.index');
}

`


解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)