无法获取路由参数 - Laravel 6
Not able to get Route parameter - Laravel 6
我已经尝试了多种解决方案,但还没有奏效,我正在尝试获取从视图传递的控制器中的路由参数。
这是我创建路线的方式:
Route::get('addOptions/{questionId}', 'QuestionController@addOptions')->name('addOptions');
下面是我如何将参数传递给视图中的路由:
<a href="{{ route('admin.addOptions', $data['question']->id) }}" class="btn btn-success">Add Options</a>
这是我试图在控制器中获取的内容,但它返回的是空数组:
public function addOptions(Request $request)
{
$allParameters = $request->input(); //not working
//$allParameters = $request->all(); //not working
//$allParameters = Input::all(); //not working
return $allParameters;
}
它returns空数组[]
像这样。
编辑:但是 url 在路由 addOptions
看起来像这样 http://127.0.0.1:8000/admin/addOptions/4
其中 4
是 questionId,这意味着参数正在传递但未检索。
我在这里做错了什么?请指导,谢谢。
你应该经过这样的路线:
<a href="{{ route('admin.addOptions', ['questionId' => $data['question']->id]) }}" class="btn btn-success">Add Options</a>
至于Laravel docs.,路由参数通过一个数组传递,该数组的键引用该参数
$url = route('profile', ['id' => 1]);
要在控制器中检索数据,您应该使用:
$request->route()->paremeters()
或
$request->route('parameter_name')
如果要传递参数
<a href="{{ route('admin.addOptions', $question->id }}" class="btn btn-success">Add Options</a>
我认为你的函数参数有误
您正在从 Route 传递问题 ID 所以您的函数应该像
public function addOptions($questionId)
{
$allParameters = $questionId; // you question ID passed throught Route
return $allParameters;
}
我已经尝试了多种解决方案,但还没有奏效,我正在尝试获取从视图传递的控制器中的路由参数。 这是我创建路线的方式:
Route::get('addOptions/{questionId}', 'QuestionController@addOptions')->name('addOptions');
下面是我如何将参数传递给视图中的路由:
<a href="{{ route('admin.addOptions', $data['question']->id) }}" class="btn btn-success">Add Options</a>
这是我试图在控制器中获取的内容,但它返回的是空数组:
public function addOptions(Request $request)
{
$allParameters = $request->input(); //not working
//$allParameters = $request->all(); //not working
//$allParameters = Input::all(); //not working
return $allParameters;
}
它returns空数组[]
像这样。
编辑:但是 url 在路由 addOptions
看起来像这样 http://127.0.0.1:8000/admin/addOptions/4
其中 4
是 questionId,这意味着参数正在传递但未检索。
我在这里做错了什么?请指导,谢谢。
你应该经过这样的路线:
<a href="{{ route('admin.addOptions', ['questionId' => $data['question']->id]) }}" class="btn btn-success">Add Options</a>
至于Laravel docs.,路由参数通过一个数组传递,该数组的键引用该参数
$url = route('profile', ['id' => 1]);
要在控制器中检索数据,您应该使用:
$request->route()->paremeters()
或
$request->route('parameter_name')
如果要传递参数
<a href="{{ route('admin.addOptions', $question->id }}" class="btn btn-success">Add Options</a>
我认为你的函数参数有误 您正在从 Route 传递问题 ID 所以您的函数应该像
public function addOptions($questionId)
{
$allParameters = $questionId; // you question ID passed throught Route
return $allParameters;
}