Laravel 路由传递附加变量
Laravel Route pass additional variables
我有一个用户控制器,其中 returns 个用户列表,每个用户属于不同的组。
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.
我想通过路由而不是 url 传递 ID。最好的方法是什么。
做如下操作
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
只是一个例子。您可以传递任何变量。
希望对您有所帮助。
我有一个用户控制器,其中 returns 个用户列表,每个用户属于不同的组。
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.
我想通过路由而不是 url 传递 ID。最好的方法是什么。
做如下操作
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
只是一个例子。您可以传递任何变量。
希望对您有所帮助。