Laravel 为 auth 和 guest 用户路由不同的控制器

我正在尝试使用相同的路由主页/,但为 auth 和 guest 用户使用不同的控制器,但我无法做到这一点。我已经在谷歌、stackoverflow 等上搜索并尝试了所有结果,但都没有用。我猜这是因为我使用的是Laravel Framework 7.15版本


 $uses = 'BlogController@index';

 if (!is_null(auth()->user())) {

     $uses = 'HomeController@index';


 }

 Route::get('/', $uses);

BlogController 用于来宾,HomeController 用于经过身份验证的用户。因此,当我为经过身份验证的用户运行代码时,它只显示 Blog(guest) 主页而不是用户 HomeController 页面。提前感谢您的帮助。


慕码人2483693
浏览 94回答 1
1回答

holdtom

你可以试试这个。Route::get('/', (function() {    return auth()->user()        ? app()->make(\App\Http\Controllers\HomeController::class)->index()        : app()->make(\App\Http\Controllers\BlogController::class)->index();}));
打开App,查看更多内容
随时随地看视频慕课网APP