繁体   English   中英

Laravel Route传递其他变量

[英]Laravel Route pass additional variables

我有一个用户控制器返回用户列表,每个用户属于不同的组。

例如: - $ 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只是一个例子。 您可以传递任何变量。

我希望它有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM