Drupal 7 使用entityfieldquery获取NID
我想得到所有的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
$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()?