【问题标题】:How to pass two different ID's in a route laravel?如何在路由laravel中传递两个不同的ID?
【发布时间】:2020-06-07 00:24:44
【问题描述】:

我有一个简单的应用程序,我需要在一个路由中传递两个不同的 ID 的 idcode_id,这是我迄今为止尝试过的解决方案

查看

  <a href="{{ route('settings.code', $settings->id,  $settings->code_id) }}">{{ __('Code') }}</a>

这里是路由配置

    Route::get('settings/code/{id}/{code_id}', ['as' => 'settings.code', 'uses' => 'SettingController@code']);

这是我在控制器中的功能

 public function code($code_id, $id)
     {   
         $settings = Setting::find($code_id, $id);


          dd($settings);


         return view('pages.settings.code', compact('settings'));

     }

这是我得到的错误

Missing required parameters for [Route: settings.code] [URI: settings/code/{id}/{code_id}]. (0)

我的代码有什么问题?

【问题讨论】:

    标签: php laravel laravel-blade


    【解决方案1】:

    首先,您应该将数组作为第二个参数传递给route() 方法:

    {{ route('settings.code', ['id' => $settings->id,  'code_id' => $settings->code_id]) }}
    

    请注意:

    路由参数根据它们的顺序注入到路由回调/控制器中 - 回调/控制器参数的名称无关紧要。

    所以你应该交换控制器方法的参数:

    public function code($id, $code_id)
    {
        //...   
    }
    

    【讨论】:

      【解决方案2】:

      我的解决方案是这样的:

      Route::match(["get", "post"], "/patient-member-orders/**{patient_id}/{member_id}**", [PathologyController::class, "patientMemberOrders"])->name("pathology-patient-member-orders");
      

      之后,我们需要将该名称作为键值对中的数组传递到路由方法的第二个参数中。

      **route("pathology-patient-member-orders", ["patient_id" => $member->patient_id, "member_id" => $member->id])**
      

      如果我错了,请纠正我。

      钦梅米什拉

      【讨论】:

        猜你喜欢
        • 2021-01-04
        • 1970-01-01
        • 2021-03-03
        • 2018-07-26
        • 2018-10-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-14
        相关资源
        最近更新 更多