web-dev-qa-db-fra.com

Requête avec db_select () pour sélectionner le noeud par id et joindre le champ et les termes

J'essaie d'écrire une requête en utilisant db_select qui sélectionne un nœud particulier par id, puis rejoint sa colonne field_data_field_projectresources et sélectionne également les termes de la taxonomie (car il s'agit d'un champ term_reference)

J'ai essayé de nombreuses tentatives mais je me retrouve bloqué (je n'ai même pas abordé la partie concernant la jointure de la table dr_taxonomy_term_data)

 $query = db_select('node','n')
  ->condition('n.nid','5')
  ->fields('n')
  ->fields('p');
 $query->Join('field_data_field_projectresources','p','p.entity_id = n.nid');
 $result = $query->execute();

 while($record = $result->fetchAssoc()) {
   print_r($record);
 }

Toute aide appréciée, merci

7
Andrew Welch

J'espère que cela fonctionne pour vous:

 $query = db_select('node','n');
 $query->join('field_data_field_projectresources','p','p.entity_id = n.nid');
 $query->fields('n',array('yourfieldnames'))
       ->fields('p',array('yourfieldnames'))
       ->condition('n.nid','5');
 $result = $query->execute();

Voici ne autre réponse qui vous aidera beaucoup.

Consultez la documentation de 'join' sur drupal.org .

8
Yusef