繁体   English   中英

在Laravel中为不同类型的用户使用相同的路由

[英]Using the same route for different types of users in Laravel

我的申请将有医生,患者和管理员

现在我希望所有角色都有相同的路线。 如下:

app.com/dashboard/
app.com/dashboard/appointments

但是我希望有一个不同的控制器用于患者,一个用于医生的外出。 我试过以下但没有成功

Route::group(['prefix' => 'dashboard', 'middleware' => ['auth']], function () {

/* Doctor */
Route::group(['middleware' => ['role:doctor']], function() {
    Route::get('/appointments', 'Doctor\AppointmentController@index');
});

/* Patient */
Route::group(['middleware' => ['role:patient']], function() {
    Route::get('/appointments', 'Patient\AppointmentController@index');
});

});

我的角色中间件导致403(未经授权)错误。 即便没有,我认为它只是覆盖了另一个?

有没有人能够使用相同的路线(/仪表板)完全不同的目的? 又名不同的控制器/视图

谢谢!

您可以通过检查用户角色来使用解决方法,然后相应地调用控制器函数:

Route::get('appointment', function()
{
    if (auth()->user()->isDoctor())
    {
        app()->call('Doctor\AppointmentController@index')
    }
    elseif(auth()->user()->isPatient())
    {
        app()->call('Patient\AppointmentController@index')
    }
});

暂无
暂无

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

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