【发布时间】:2016-11-07 16:43:14
【问题描述】:
我已经使用 Auth::login($user) 发送一个变量并将其设置在我的路由中的一个数组中。想发送一个额外的数组,我尝试的一切都失败了。
我的代码
控制器
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));
}
路线
Route::get('/', function()
{
$user = array();
if(Auth::check()) {
$user = Auth::user();
}
return View::make('hello', array('user' => $user));
});
所以我想发送 $user_pages,现在我只能访问 $user。在我看来,尝试为 $pages 运行 foreach 循环,但没有识别变量。所以我猜我必须在路由中做一些事情,并以与发送 $data 相同的方式发送它。
有什么帮助吗?
【问题讨论】:
-
你到底为什么要打电话给用户
$data?如果你想出任意变量名,你会让自己和他人更加困惑。 -
我没有看到您的代码中调用了控制器方法
callback()。在声明的路由中,您只返回 data 变量(我将其重命名为 user)。我建议你在 Laracast 上观看 Laravel 初学者视频。 -
已将变量名称更改为用户。并且回调工作正常,我只是没有发布整个代码,只有这个问题的相关代码。关于如何将 $user_pages 发送到我的视图。