Drupal 7 使用entityfieldquery获取NID

Drupal 7 使用entityfieldquery获取NID,drupal-7,Drupal 7,我想得到所有的NID,但我无法得到它们。下面是我的片段 $query = new EntityFieldQuery(); $query->entityCondition('entity_type', 'node'); $query->entityCondition('bundle', 'product'); $query->propertyCondition('status', 1); $query->fieldCondition('field_product_sub_c

我想得到所有的NID,但我无法得到它们。下面是我的片段

$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'node');
$query->entityCondition('bundle', 'product');
$query->propertyCondition('status', 1);
$query->fieldCondition('field_product_sub_cat', 'tid',array($leaf_nodes));
$query->range(0, 10);
$result = $query->execute();
if (isset($result['node']))
{
  $product_childnid = array_keys($result['node']);
}
下面是我的结果:已更新

Array
(
[node] => Array
    (
        [78] => stdClass Object
            (
                [nid] => 78
                [vid] => 78
                [type] => product
            )

        [80] => stdClass Object
            (
                [nid] => 80
                [vid] => 80
                [type] => product
            )

        [82] => stdClass Object
            (
                [nid] => 82
                [vid] => 82
                [type] => product
            )

        [84] => stdClass Object
            (
                [nid] => 84
                [vid] => 84
                [type] => product
            )

        [86] => stdClass Object
            (
                [nid] => 86
                [vid] => 86
                [type] => product
            )

        [88] => stdClass Object
            (
                [nid] => 88
                [vid] => 88
                [type] => product
            )

        [90] => stdClass Object
            (
                [nid] => 90
                [vid] => 90
                [type] => product
            )

        [92] => stdClass Object
            (
                [nid] => 92
                [vid] => 92
                [type] => product
            )

        [94] => stdClass Object
            (
                [nid] => 94
                [vid] => 94
                [type] => product
            )

        [100] => stdClass Object
            (
                [nid] => 100
                [vid] => 100
                [type] => product
              )
          )
  )
下面的代码也为我提供了所有的路径

$paths = array();
if (isset($result['node']))
{
 foreach($result['node'] as $key => $node) 
 {
 $paths[$node->nid] = drupal_get_path_alias("node/$node->nid");
 }
}
现在,下一个问题是如何在锚定标记中表示这些路径?因为它们都在一个数组中。下面是路径别名的数组结构:

Array
(
 [78] => equivalent-fireman-glove-details
 [80] => toughguard®-2
 [82] => toughguard®-3
 [84] => toughguard-®sizzler®
 [86] => tough-guard-®
 [88] => kevlar®-double-glove
 [90] => nomex®-industrial-coverall
 [92] => tough-guard®-clinker®-0
 [94] => lab-coats-sa-nlc
)
下面是要与上述路径链接的阵列结构数据:

Array
(
 [0] => 71
 [1] => 73
 [2] => 81
 [3] => 83
 [4] => 85
 [5] => 87
 [6] => 89
 [7] => 91
 [8] => 93
) 
试试这个:

$query->fieldCondition('field_product_sub_cat', 'tid',array($leaf_nodes),'IN');

因此,查询将值与数组进行比较。

Thanku@rahul,我应用的条件为true,因为当我尝试使用
print\r($result)
输出
$result
时,我会根据字段条件获得节点的数组结构。但是,当我尝试使用array_keys()获取所有
NID
时,输出中只显示最新的NID,但我需要所有NID。那是我的problem@nomeer请提供预期结果以及您从
print\r($result)
获得的结果您是否尝试过l()?