En mi caso de uso, tengo una entidad que tiene dos campos que hacen referencia a vocabularios únicos.
Noticias: - etiqueta (referencia de entidad) - categoría (referencia de entidad)
Si consulto sobre una de esas referencias, obtengo resultados; sin embargo, cuando consulto ambos (un filtro AND) no obtengo resultados. Ya lo he verificado tres veces y hay entidades que contienen tanto la etiqueta como la categoría que estoy consultando.
¿Es esto un error del usuario o un error de Drupal?
$query = \Drupal::entityQuery('node')
->condition('status', 1)
->condition('type', 'news')
;
$group = $query->andConditionGroup()
->condition('field_tag.entity.name', ['cars'], 'IN')
->condition('field_category.entity.name', ['sport'], 'IN')
;
$query->condition($group);
$nids = $query->execute();
EDITAR: He encontrado una solución al consultar el valor bruto en lugar de entity.value. Sin embargo, esta es una situación no deseable
$query = \Drupal::entityQuery('node')
->condition('status', 1)
->condition('type', 'news')
;
$group = $query->andConditionGroup()
->condition('field_tag.entity.name', ['cars'], 'IN')
->condition('field_category', [1], 'IN')
;
$query->condition($group);
$nids = $query->execute();