it-swarm.com.de

Wie erhalte ich Benutzer programmgesteuert nach Rollen?

In Drupal 8) muss ich alle Benutzer anhand des angegebenen Rollennamens ermitteln.

20
AndrewK

Entschuldigung, beim ersten Mal wurde ein falscher Eigenschaftsname verwendet, eine Antwort:

use  \Drupal\user\Entity\User;

$ids = \Drupal::entityQuery('user')
->condition('status', 1)
->condition('roles', 'moderator')
->execute();
$users = User::loadMultiple($ids);

dpm($users);
30
AndrewK

Wenn Sie sich in einer Klasse befinden, in der Sie die Abhängigkeitsinjektion oder den Entity Storage Handler verwenden können, können Sie Folgendes tun:

$user_storage = \Drupal::service('entity_type.manager')->getStorage('user');

$ids = $user_storage->getQuery()
  ->condition('status', 1)
  ->condition('roles', 'moderator')
  ->execute();
$users = $user_storage->loadMultiple($ids);
12
joachim