函数App \ Http \ Controllers \ RaveController :: addToOrdersTables的参数太少,传递了0个且恰好期望2个

问题描述

嗨,我正在使用RaveFlutterWave作为我的付款网关。每当客户完成付款时,我都想存储订单,但是我无法通过该错误。我不知道那里缺少什么。 感谢您的帮助,这是我的代码。

public function callback(Request  $request)
  {

    // $data = Rave::verifyTransaction(request()->txref);

    $resp = $request->resp;
    $body = json_decode($resp,true);
    $txRef = $body['data']['data']['txRef'];
    $data = Rave::verifyTransaction($txRef);
    
    return redirect()->route('success');
    

  }

这是我的路线

Route::get('/success','RaveController@addToOrdersTables')->name('success');

这是我保存订单的方法

protected function addToOrdersTables($request,$error)
  { 
    $order = Order::create([
        'user_id' => auth()->user() ? auth()->user()->id : null,'billing_email' => $request->email,'billing_first_name' => $request->first_name,'billing_last_name' => $request->last_name,'billing_address' => $request->address,'billing_city' => $request->city,'billing_town' => $request->town,'billing_postalcode' => $request->postalcode,'billing_phone' => $request->phone,'billing_total' => Cart::getTotal(),'error' => $error,]);
  
      foreach (Cart::getContent() as $item) 
        {
          
          OrderProduct::create([
            'order_id' => $order->id,'product_id' => $item->model->id,'quantity' => $item->quantity,]);
        }
  }

感谢关注。

解决方法

您还必须通过路由传递参数:

Route::get('/success/{error}','RaveController@addToOrdersTables')->name('success');

addToOrdersTables方法中,使用Request提示请求,如下所示:

protected function addToOrdersTables(Request $request,$error)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...