drupal восстановить текущих зарегистрированных пользователей? - PullRequest
0 голосов
/ 05 сентября 2018

Есть ли функция для извлечения всех текущих зарегистрированных пользователей для Drupal 7?

Я пытался построить запрос на основе Получить всех зарегистрированных пользователей в Drupal

$query->join('users', 'u', 's.uid = u.uid'); //JOIN sessions with users
$query->fields('u',array('name')) //SELECT the fields from node
      ->orderBy('timestamp', 'DESC') //ORDER BY timestamp
      ->range(0,10); //LIMIT to 10 records
      ->execute()
      ->fetchAll();
$result = $query->execute();

но мне все еще не хватает чего-нибудь, чтобы извлечь все имена в $ result в виде массива и как ограничить время ожидания, возможно, последними 5 минутами активных пользователей, использующих временную метку?

UPDATE Мне нужно поместить их в массив с их именами в # title и uid в # href

Joe
#title - Joe
#href - 15

Mary
#title - Mary
#href - 20

1 Ответ

0 голосов
/ 05 сентября 2018

Восстановление пользователей, вошедших в систему за последние 5 минут:

$users_results = db_query('SELECT u.uid , u.name FROM users u 
                   WHERE ( UNIX_TIMESTAMP(NOW()) - u.access ) < (5*60)')
          ->fetchAllKeyed();
dsm($users_results);

EDIT

Как спросили:

foreach($users_results as $uid => $name){
  $users[$name] = array('#title' => $name , '#href' => $uid);
}
...