[英]Can't pass authenticated user details to view
驗證用戶身份后,傳遞用戶詳細信息時出現問題。 變量$newUser
具有必需的信息,但是不能傳遞給user.index
視圖。 我正在使用Laravel 5.1。
Route::get('user/home', ['as' => 'home', function () {
return view('user.index');
}]);
Route::get('{provider}/login', function ($provider) {
global $newUser;
OAuth::login($provider, function ($user, $userdetails) {
$newUser = $userdetails;
$email = DB::table('users')->where('email', $newUser->email)->value('email');
if( isset($email)) {
echo "Welcome " . $newUser->full_name . " <br/>";
}
else {
echo "New User! <br/>";
$user->name = $newUser->full_name;
$user->email = $newUser->email;
$user->save();
}
});
$newUser = (array) $newUser;
return view('user.index', $newUser);
});
嘗試:
view('user.index', compact('newUser'));
只是想知道,為什么不使用控制器並使代碼更明確,以使您可以容易地理解從現在起6個月后返回編碼。 無論如何,如果您使用的是Auth外觀,則應該可以使用
Auth::user()
在視圖中檢索它,或嘗試查看OAuth類的可用方法。 或者,如果您想保持代碼不變,請嘗試
return view('user.index', compact('newUser'));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.