我正在尝试通过创建另一个模型Sessions
在会话表中添加额外信息。我正在使用以下问题的答案中详述的方法;
Laravel session table add additional column
字段:
class Sessions extends BaseModel
{
protected $table = 'sessions';
protected $fillable = array(
'id',
'payload',
'last_activity',
'user_id',
'type',
'created_at');
public static function getCurrent()
{
return Sessions::find(Session::getId());
}
}
public function postLogin()
{
if (\Auth::biz()->attempt(\Input::only(array('email', 'password')),
\Input::get('persist', 'no') == 'yes')) {
$session = Sessions::getCurrent(); // returns NULL
// fields getting values
$session->save();
return \Redirect::route('marketer.home');
} else {
return \Redirect::back()->withInput()->with('loginFail', true);
}
}
我正在使用laravel v4.2.16和基于数据库的会话管理。函数Session::getId()
不会返回存储在数据库中的ID,因此我无法通过Sessions::getCurrent()
方法获取当前会话的模态。
之前的方法有效,因此我们在其上构建了许多优化查询。
答案 0 :(得分:0)
试试这个:
$user = \Auth::user(); in the view file
然后将$ user变量打印为:
echo "<pre>";
print_r($user);
echo "</pre>";
exit;
看,如果有帮助。
答案 1 :(得分:0)
您需要调用静态Session::unguard();
获取ID,然后调用Session::reguard();