我已经使用Auth :: login($ user)发送变量并将其设置在我的路由中的数组中。想要发送一个额外的阵列,我试过的一切都失败了。
我有代码
控制器
Hashtable
ROUTE
public function callback(){
if( !$this->fb->generateSessionFromRedirect() ){
return Redirect::to('/')->with('message', "Error logging into facebook");
}
$user_fb = $this->fb->getGraph();
if(empty($user_fb)) {
return Redirect::to('/')->with('message', "User Not Found");
}
$user = User::whereUidFb($user_fb->getProperty('id'))->first();
if(empty($user)){
$user = new User;
$user->name = $user_fb->getProperty('name');
$user->uid_fb = $user_fb->getProperty('id');
$user->save();
}
$user->access_token_fb = $this->fb->getToken();
$user->save();
$user_pages = $this->fb->getPages();
// var_dump($user_pages);
Auth::login($user);
return Redirect::to('/')->with(array('pages' => $user_pages));
}
所以我想发送$ user_pages,现在我只能访问$ user。试图在我的视图中为$ pages运行foreach循环,但是没有识别变量。所以我猜我必须在路线上做一些事情并以与发送$ data相同的方式发送它。
任何帮助?
答案 0 :(得分:1)
with
方法将数据刷新到会话以便检索它,您需要使用session('key')
;
<强>控制器:强>
public function callback(){
//.......
return Redirect::to('/')->with('pages', $user_pages);
//.......
}
,然后强>
Route::get('/', function() {
//From session
$user_pages = Session::get('pages'); //session('pages'); for laravel >= 5.0
$data = array();
if(Auth::check()) {
$data = Auth::user();
}
return View::make('hello', array('data' => $data));
});