在drupal中获取nid

时间:2015-03-13 07:00:03

标签: php drupal-7

这里我想从我的内容类型product_categories中获取匹配子项ID的nid。我使用下面的代码。

$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'node');
$query->entityCondition('bundle', 'product_categories');
$query->propertyCondition('status', 1);
$query->fieldCondition('field_product_sub_cat', 'tid', $child->tid, '=');
$result = $query->execute();

我执行上面的查询并显示正确的结果。但是现在我想要获取nid,我使用下面的代码,但它不起作用。

$childnid = $result->nid; //Area to explore
//print "<pre>"; print_r ((int)$childnid);
print $childnid;

任何人都可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

你快到了。执行查询后,生成的实体ID将存储为一个数组,该数组本身位于由实体类型键入的数组中(在本例中为“node”)。要检查并获取一组节点ID,请在调用execute()后直接使用它:

if (isset($result['node'])) {
  $nids = array_keys($result['node']);
}

改编自How to use EntityFieldQuery