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

Laravel same route different controllers for auth and guest users

我正在尝试使用相同的路由主页 / 但身份验证和来宾用户使用不同的控制器,但我无法做到这一点。我搜索并尝试了 google、Whosebug 等的所有结果,none 有效。我猜这是因为我使用的版本 Laravel Framework 7.15

 $uses = 'BlogController@index';
 if (!is_null(auth()->user())) {
     $uses = 'HomeController@index';

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

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

你可以试试这个。

Route::get('/', (function() {
    return auth()->user()
        ? app()->make(\App\Http\Controllers\HomeController::class)->index()
        : app()->make(\App\Http\Controllers\BlogController::class)->index();
}));