首页 > 解决方案 > 具有多个参数的路由上缺少必需的参数错误

问题描述

此错误消息不断显示

Missing required parameters for [Route: merchants.add.channel] [URI: merchants/{key}/denomination/{keydenom}/channel/addChannel].

这是我的路线

Route::get('merchants/{key}/denomination/{keydenom}/channel', 'MerchantsController@channel')->name('merchants.channel');

这是我的功能

public function channel($id)
{
  if (!can('merchants_list_channel')) {
      return redirect()->route('home');
  }
  $merchant = MerchantDenomination::where('id', $id)->pluck('name')->first();
  $statusDenomList = [
      '' => '-- All --',
      'ACTIVE' => 'Active',
      'DISABLE' => 'Disable',
      'OFS' => 'OFS'
  ];
    return view('merchants.channel', compact('statusDenomList', 'id', 'merchant'));
}

标签: laravel-5

解决方案


该路由有 2 个路由参数:{key} 和 {keydenom}。

您的控制器功能应该期待它们:

public function channel($key, $keydom) {
  // Do your job
}

您还需要在每次调用时表达参数route()

 route('merchants.channel', ['key' => "your-key", 'keydom' => "your-keydom"])

推荐阅读