web-dev-qa-db-fra.com

Requête et chargement d'entité par Entity Type Manager

Actuellement, je "cherche" d'abord une entité de terme de taxonomie avec la requête d'entité dans Drupal 8:

$termIds = \Drupal::entityQuery('taxonomy_term')
  ->condition('field_code', $code)
  ->condition('vid', 'computer')
  ->execute();

Et puis je charge l'entité de terme de taxonomie:

      $termId = current($termIds);
      $term = \Drupal::entityTypeManager()
        ->getStorage('taxonomy_term')
        ->load($termId);

Existe-t-il un moyen de le faire en une seule étape, au lieu de ces deux?

6
jepster

Vous pouvez le faire en une seule étape en utilisant loadByProperties () :

$term = current(\Drupal::entityTypeManager()->getStorage('taxonomy_term')
  ->loadByProperties(['field_code' => $code, 'vid' => 'computer'])
);

Cette méthode est un raccourci pour les requêtes d'entité de base comme vous l'avez ici et comprend également l'étape de chargement des entités.

9
4k4