你好,我有一个名为show
的函数,它有2个参数id
和options
,这是blade.php
的代码:
<a href="{{route('orders.show',$order->id,'1')}}">
<button>Edit</button>
</a>
数字1是静态的,但我还有一个值为2
的按钮,现在这是来自控制器的代码:
public function show($id, $option)
{
$orders = Order::with('client', 'products')->where('id', $id)->firstOrFail();
$clientList = Client::all();
$productList = Product::all();
switch ($option)
{
case 1:
{
return view('orders.edit', compact('orders', 'clientList', 'productList'));
break;
}
case 2:
{
return view('orders.show', compact('orders', 'clientList', 'productList'));
break;
}
}
}
但是当我执行代码时,我得到这个错误:
Too few arguments to function App\Http\Controllers\OrderController::show(), 1 passed in /home/user/Desktop/k_project/vendor/laravel/framework/src/Illuminate/Routing/Controller.php on line 54 and exactly 2 expected个
基本上,第二个参数没有通过,我使用了另一个类似的方法:
<a href="{{ route('student.detail', ['id' => 5, 'parameter' => 'advanced-web-hindi', 'name' => 'anmol']) }}">Student detail</a>
从这个页面:Page
而在此之前,我只传递了一个值$id
,它工作得很好,但现在我需要传递第二个参数.
这是我的路径定义,只有一个值超过$id
就可以工作,但有两个值超过$id
和$option
就会出错:
Route::resource('orders', OrderController::class);