gpt4 book ai didi

php - 如何获取存储在数据库中的 session ID?

转载 作者:可可西里 更新时间:2023-10-31 23:47:39 27 4
gpt4 key购买 nike

我正在尝试通过创建另一个模型 Sessions 在 session 表中添加额外信息。我正在使用以下问题的答案中详述的方法;

Laravel session table add additional column

表格

字段:

  • id - varchar(50) - laravel 在此处存储一个 40 个字符的字符串
  • payload - mediumtext - 通常为 265 个字符的字符串
  • last_activity - int(11)
  • user_id - bigint(20)
  • 类型 - varchar(15) - 默认值('biz')
  • created_at - 时间戳 - 默认(CURRENT_TIMESTAMP)

型号

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());
}
}

Controller

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 管理。 Session::getId() 函数不返回存储在数据库中的 ID,因此我无法通过 Sessions::getCurrent() 获取当前 session 的模式方法。

该方法之前行之有效,因此我们在其上构建了许多优化查询。

最佳答案

试试这个:

$user = \Auth::user(); in the view file

然后将 $user 变量打印为:

echo "<pre>";
print_r($user);
echo "</pre>";
exit;

看看,是否有帮助。

关于php - 如何获取存储在数据库中的 session ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27705372/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com