Query taxonomy term for given product I have a node template, rendering a product list based on a query :

$productsQuery = db_select('commerce_product', 'p');
$productsQuery-&gt;join('commerce_product_type', 't', 't.type = p.type');

$productsQuery-&gt;fields('p')
    -&gt;fields('t')
    -&gt;condition('p.status', 0, '&gt;')
    -&gt;orderBy('p.created', 'DESC')
;

$results = $productsQuery-&gt;execute()-&gt;fetchAll();

foreach ($results as $product) {
    $productNodeQuery = new EntityFieldQuery();
    $productNodeQuery-&gt;entityCondition('entity_type', 'node', '=')
        -&gt;propertyCondition('type', $product-&gt;type)
        -&gt;fieldCondition('field_product', 'product_id', $product-&gt;product_id, '=')
        -&gt;range(0, 1);

    if ($node = $productNodeQuery-&gt;execute()) {
        $node = array_shift($node['node']);
        // Render the node
    }
}


It is working well, but I do not access to the different fields of the product-display node in EntityFieldQuery...

For instance, In my product-display, I have a required relation to a taxonomy term, that I would like to display for each product.

How to get this specific field ?
An EntityFieldQuery just returns IDs, you need to load the entities manually:

$results = $query-&gt;execute();
if (!empty($results['node'])) {
  $nodes = node_load_multiple(array_keys($results['node'));
  foreach ($nodes as $node) {
    if ($items = field_get_items('node', $node, 'field_foo')) {
      // ...
    }
  }
}