Laravel 5.1 会话在外部不工作 Route::get
Laravel 5.1 Session not working outside Route::get
我有一些这样的代码并且可以工作:
Route::get('addnew',function(){
$user = Users::where('username','=',session('username'))->first();
$data = $user->toArray();
return view('layout.addnew')->with($data);
});
Route::post('addnew', ['uses'=>'UsersController@addnew']);
使用上面的代码:session('username') not null
但是,当我像下面这样使用这段代码时:
$user = Users::where('username','=',session('username'))->first();
$data = $user->toArray();
Route::get('addnew',function() use($data){
return view('layout.addnew')->with($data);
});
Route::post('addnew', ['uses'=>'UsersController@addnew']);
使用上面的代码:session('username') null => 所以 $data 是非对象,代码不是正在工作。
请有人帮帮我!
非常感谢!
如果你这样做更好
routes.php
Route::get('/addnew', 'HomeController@addnew');
在控制器中(本例中的 HomeController 应该默认存在)
将此添加到控制器
public function getuser(){
return Users::where('username','=',session('username'))->first()->toArray();
}
public function addnew() {
return view('layout.addnew')->with('user',$this->getuser());
}
我有一些这样的代码并且可以工作:
Route::get('addnew',function(){
$user = Users::where('username','=',session('username'))->first();
$data = $user->toArray();
return view('layout.addnew')->with($data);
});
Route::post('addnew', ['uses'=>'UsersController@addnew']);
使用上面的代码:session('username') not null
但是,当我像下面这样使用这段代码时:
$user = Users::where('username','=',session('username'))->first();
$data = $user->toArray();
Route::get('addnew',function() use($data){
return view('layout.addnew')->with($data);
});
Route::post('addnew', ['uses'=>'UsersController@addnew']);
使用上面的代码:session('username') null => 所以 $data 是非对象,代码不是正在工作。
请有人帮帮我!
非常感谢!
如果你这样做更好
routes.php
Route::get('/addnew', 'HomeController@addnew');
在控制器中(本例中的 HomeController 应该默认存在)
将此添加到控制器
public function getuser(){
return Users::where('username','=',session('username'))->first()->toArray();
}
public function addnew() {
return view('layout.addnew')->with('user',$this->getuser());
}