我有一个具有实体引用字段的内容类型,该字段允许用户在该字段中添加多个分类法术语。我正在尝试执行查询,以获取在该字段内具有一组特定分类法术语的节点。
像这样,在该字段中使用一个值可以很好地工作。
$query = \Drupal::entityQuery('node')
->condition('status', NODE_PUBLISHED)
->condition('type', 'custom_type')
->condition('custom_taxonomy', 2)
->sort('field_last_name', DESC);
其中2是我要搜索的术语的ID。但是,当我尝试搜索包含两个特定术语的节点时,
$query = \Drupal::entityQuery('node')
->condition('status', NODE_PUBLISHED)
->condition('type', 'custom_type')
->condition('custom_taxonomy', [2,8])
->sort('field_last_name', DESC);
我收到错误
无效的参数编号:绑定变量的数量与令牌的数量不匹配:
我也尝试过
$query = \Drupal::entityQuery('node')
->condition('status', NODE_PUBLISHED)
->condition('type', 'custom_type')
->condition('custom_taxonomy', [2,8], 'IN')
->sort('field_last_name', DESC);
这不会失败,但是不会提供预期的结果。它显示具有项2 或项8的每个节点,而不是预期的项2 和项8。如何执行查询,以检查节点在实体引用字段中是否具有多个特定值?