it-swarm.com.de

EntityQuery mit Joins

Ich versuche, Benutzerdaten per UUID in meinem benutzerdefinierten Modul abzurufen, und ich weiß nicht, wie ich mich der Tabelle sers_field_data anschließen soll, um Benutzerfelder (E-Mail, Benutzername usw.) abzurufen.

Meine Anfrage für die Tabelle Benutzer funktioniert, aber ich weiß nicht, wie ich beitreten soll.

$query = \Drupal::entityQuery('user')
          ->condition('uuid', $uuid)
          ->execute();
$result = User::loadMultiple($query);
dpm($result);

Wie kann ich einen Join mit der Tabelle sers ausführen?

2
Pauloscorps

Der einfachste Weg, ein Feld von einer Entität beim Abfragen zu laden, ist die Verwendung des entityTypeManager:

$users = \Drupal::entityTypeManager()->getStorage("user")
        ->loadByProperties(['uuid' => $uuid]); // or any other properties.

foreach ($users as $user) {
    var_dump($user->field_customfield->getValue());
}

siehe: Arbeiten mit der Entität-API

Achten Sie darauf, \Drupal::entityManager Nicht zu verwenden, da es veraltet ist.

1
Cawet