我想生成没有$ name的页面网址,类似这样的
mysite.app/statestring
但是路线get('/action/{name}', ...)
我只能得到这个
mysite.app/statestring/ somename
如果我将路线更改为Route::get('/action', ...)
它不起作用,则错误为"缺少参数1"
我的web.php
Route::get('/action/{name}', [
'uses' => 'DoActionController@getAction',
'as' => 'returnAction',
]);
我的控制器操作
public function ($name)
{
return view('returnaction', ['name'=>$name]);
}
我的主页
<body>
@foreach ($yourActions as $yourAction)
<li>
<a href="{{ route('returnAction', ['name'=>$yourAction->name]) }}"> {{ $yourAction->name }} </a>
</li>
@endforeach
答案 0 :(得分:0)
您需要将 $ name 参数设为可选。
首先,在控制器中将其声明为可选:
public function ($name = null)
这将消除你得到的错误参数的错误。接下来,在路线中使用
选择名称参数Route::get('/action/{name?}', ...);