【问题标题】:Error:Argument 3 passed to App\Http\Controllers\mycontroller::cH() must be an instance of Illuminate\Http\Request, none given错误:传递给 App\Http\Controllers\mycontroller::cH() 的参数 3 必须是 Illuminate\Http\Request 的实例,没有给出
【发布时间】:2016-12-02 20:49:50
【问题描述】:

我收到了上述问题中提到的错误,这是我的方法代码

    function customHeader($id, $user_id, Request $request){

        if ($user_id == Auth::user()->id || Auth::user()->is_admin){

        $method = $request->method();
        // To show View
        if($request->isMethod('GET')){


     }      // Create
     elseif($request->isMethod('POST')){

            // Delete
     } elseif($request->isMethod('Delete')){
                //Delete single

    } else{
            return redirect()->back();
    }
}

只有在用户需要删除记录时才需要上面的函数参数 id .. 我认为错误是由于该 id 而我需要 id 变量。如果我删除该 $id 它适用于创建我如何修复该错误

路线如下

Route::any('/setting/custom-header/{id?}', 'SettingController@customHeader');

【问题讨论】:

  • 为什么需要 user_id 变量?
  • 因为我在 url 中有 id .. 如果我不使用这个用户可以通过编辑进入其他表单

标签: php laravel


【解决方案1】:
function customHeader(Request $request, $id, $user_id = null){

        if ($user_id == Auth::user()->id || Auth::user()->is_admin){

        $method = $request->method();
        // To show View
        if($request->isMethod('GET')){


     }      // Create
     elseif($request->isMethod('POST')){

            // Delete
     } elseif($request->isMethod('Delete')){
                //Delete single

    } else{
            return redirect()->back();
    }
}

更改参数顺序将请求作为第一个参数并将参数赋予默认值应该可以工作。

【讨论】:

  • 亲爱的,这种方法不能用这种方法if ($user_id == Auth::user()->id || Auth::user()->is_admin){///////}
  • 如果我使用这个订单 $user_id, Request $request 它就进去了\
猜你喜欢
  • 2017-09-26
  • 2020-07-14
  • 2023-03-09
  • 2018-01-21
  • 2017-12-24
  • 2015-07-13
  • 2020-02-06
  • 2015-10-16
  • 2021-04-29
相关资源
最近更新 更多