我有一个用户控制器返回用户列表,每个用户属于不同的组。
ex: - $ groups = [' student_users' => 1,' teacher_users' => 2,.....]
我可以创建如下的路线来访问它们
Route::get('users/{id}', [
'as' => 'user',
'uses' => 'Admin\UserController@listUser'
]);
但我想创建更多用户友好或seo友好的说法像这样
Route::get('users/student', [
'as' => 'student',
'uses' => 'Admin\UserController@listUser'
]);
Route::get('users/teacher', [
'as' => 'teacher',
'uses' => 'Admin\UserController@listUser'
]);
Route::get('users', [
'as' => 'student',
'uses' => 'Admin\UserController@listUser'
]);//by default shows students list.
我想通过路由而不是通过网址传递id。什么是最好的方法。
答案 0 :(得分:5)
执行以下操作
Route::get('users/student', [
'as' => 'student',
'type' => 'student',
'uses' => 'Admin\UserController@listUser'
]);
在控制器中,您可以获得type
,如下所示
public function listUser(\Illuminate\Http\Request $request)
$action = $request->route()->getAction();
dd($action['type']);
}
type
只是一个例子。你可以传递任何变量。
我希望它有所帮助。