Codeigniter Session – доступ к значению Userdata для всех пользователей из DB

Я использую класс Sessionigniter для хранения значений сеанса в базе данных. В поле userdata указано имя пользователя и другие значения.

Я хочу получить username из поля userdata где lastactivity => = скажем 5 минут.

Единственный способ, который я могу решить, это:

  • Поиск пользователей за последние 5 минут
  • получить данные пользователя для каждой возвращаемой строки
  • unserialise userdata
  • извлечь имя пользователя

Однако это похоже на долгий путь. Есть ли более чистый / лучший способ сделать это?

Попробуйте этот код.

 $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']; } 

из массива результатов, вы можете получить необходимую информацию.