我想将两组ID传递给一条路线。
第一个ID是经过身份验证的用户的ID,因此例如3,第二个是候选人的ID。
所以我想做的是:vault / 3 / candidates / 120
这是我想要的路线:
Route::get('vault/{id}/candidates/{id}', 'CandidateController@centreCandidatesShow');
Run Code Online (Sandbox Code Playgroud)
使用方法:
ublic function centreCandidatesShow($id)
{
$candidate = Candidate::with('qualification')->find($id);
return view('vault.show', compact('candidate'));
}
Run Code Online (Sandbox Code Playgroud)
有人可以让我知道这是否可能吗?
抱歉,这个问题听起来很愚蠢,甚至根本不可能。我对此还很陌生。
非常感谢。
routes.php:
Route::get('vault/{userId}/candidates/{candidateId}', 'CandidateController@centreCandidatesShow');
Run Code Online (Sandbox Code Playgroud)
CandidatesController.php:
public function centreCandidatesShow($userId, $canidateId)
{
$candidate = Candidate::with('qualification')->find($canidateId);
$user = User::find($userId);
return view('vault.show', compact('candidate'));
}
Run Code Online (Sandbox Code Playgroud)
我强烈建议使用命名路由。
Route::get('vault/{userId}/candidates/{candidateId}', [
'as' => 'candidates.show',
'uses' => 'CandidateController@centreCandidatesShow'
]);
Run Code Online (Sandbox Code Playgroud)
这不仅可以帮助您生成网址,还可以在传递参数时提供帮助!
例:
<a href="{{ route('candidates.show', $userId, $candidateId) }}">Link to candidate</a>
这将提供链接并传递参数!
您甚至可以从控制器重定向到路由!
return redirect()->route('candidates.show', $userId, $candidateId);
您可以将任何内容作为路由参数。大括号内的所有内容均视为有效参数。另一个示例是:
Route::get('country/{country}/city/{city}/street/{street}/zip{zip}', 'AddressController@show');
Run Code Online (Sandbox Code Playgroud)
在AddressController @ show中,您将按顺序接受这些参数。
public function show($country, $city, $street, $zip) {..}
文件:http://laravel.com/docs/5.1/routing#route-parameters
| 归档时间: |
|
| 查看次数: |
4809 次 |
| 最近记录: |