使用两个字段的Drupal 7 EntityFieldQuery

使用两个字段的Drupal 7 EntityFieldQuery,drupal,drupal-7,Drupal,Drupal 7,我已经根据正在检查的布尔字段创建了一组图像。现在我想扩展这个条件逻辑,使用选择列表或分类列表从类别中进行选择。以下是我所拥有的: function ycs_list() { $query = new EntityFieldQuery; $query->entityCondition('entity_type', 'node') ->entityCondition('bundle', YCS_NODE_TYPE) ->propertyCondition('statu

我已经根据正在检查的布尔字段创建了一组图像。现在我想扩展这个条件逻辑,使用选择列表或分类列表从类别中进行选择。以下是我所拥有的:

function ycs_list() {
  $query = new EntityFieldQuery;
  $query->entityCondition('entity_type', 'node')
 ->entityCondition('bundle', YCS_NODE_TYPE)
  ->propertyCondition('status', 1)
  ->fieldCondition('field_active_image', 'value', 1, '=');
  $result = $query->execute();
  return $result;
}

如何将其扩展为使用两个文件?如果我要使用分类列表,我会使用EntityFieldQuery以外的东西吗?或者它只是其中的一个附加条件?

您可以向
EntityFieldQuery
添加任意数量的条件,并且由于词汇表通过Drupal 7中的字段链接到节点,因此可以非常轻松地包含它们。需要注意的一点是,术语引用字段中术语ID的列名是
tid
,而不是在很多情况下使用的
value

以下假设术语参考字段的名称为
字段\u我的\u术语\u字段

$query = new EntityFieldQuery;
$query->entityCondition('entity_type', 'node')
  ->entityCondition('bundle', YCS_NODE_TYPE)
  ->propertyCondition('status', 1)
  ->fieldCondition('field_active_image', 'value', 1, '=')
  ->fieldCondition('field_my_term_field', 'tid', $the_term_id);

$result = $query->execute();
return $result;