我正在使用 Codeigniter 的 Session 类将会话值存储在数据库中。该userdata
字段中包含用户的用户名和其他值。
我想username
从 >= 的每个userdata
字段中获取lastactivity
5 分钟。
我能想到的唯一方法是:
- 搜索最近 5 分钟内活跃的用户
- 获取返回的每一行的用户数据
- 反序列化用户数据
- 提取用户名
然而,这似乎是漫长的道路。有没有更清洁/更好的方法来做到这一点?
我正在使用 Codeigniter 的 Session 类将会话值存储在数据库中。该userdata
字段中包含用户的用户名和其他值。
我想username
从 >= 的每个userdata
字段中获取lastactivity
5 分钟。
我能想到的唯一方法是:
然而,这似乎是漫长的道路。有没有更清洁/更好的方法来做到这一点?
试试这个代码。
$query = $this->db->select('user_data')->get('ci_sessions');
$user = array(); /* array to store the user data we fetch */
foreach ($query->result() as $row)
{
$udata = unserialize($row->user_data);
/* put data in array using username as key */
$user[$udata['user_name']] = $udata['user_role'];
}
从结果数组中,您可以获取所需的信息。