我正在尝试获取身份验证用户数据并将其用于创建子域。
我发现,我可以在一条路线上获得需要的数据,例如:
Route::get('/', function ()
if (Auth::user()) {
return redirect()->route('home');
}
return view('user.login');
});
但是我无法获得小组比赛的数据。这样我得到空:
Route::group(['prefix' => 'dashboard'], function () {
$id = Auth::id();
Route::any($id.'/', 'myController@myAction')->name('some');
答案 0 :(得分:1)
Route::get('/', function ()
if (Auth::user()) {
return redirect()->route('home');
}
return view('user.login');
});
它起作用是因为该功能在请求的生命周期中与控制器位于同一位置。依此顺序,AuthServiceProvider
已经完成引导。
在第二个示例中,回调函数是路由提供程序的一部分,将在分配Auth::user()
之前触发。
您应该做的是将其设置为静态,因为它仅是登录用户的路由。
Route::group(['prefix' => 'dashboard'], function () {
$id = Auth::id();
Route::any('/', 'myController@myAction')->name('some');
或
Route::any('profile', 'myController@myAction')->name('some');
在您的控制器中,您可以恢复id
MyConrtoller.php
public function myAction()
{
$id = \Auth::id();
}