Nel mio caso d'uso ho un'entità che ha due campi che fanno riferimento a vocabolari unici.
Novità: - tag (riferimento entità) - categoria (riferimento entità)
Se eseguo una query su uno di questi riferimenti, ottengo risultati tuttavia quando eseguo una query su entrambi (un filtro AND) non ottengo risultati. L'ho verificato tre volte e ci sono entità che contengono sia il tag che la categoria che sto interrogando.
Si tratta di un errore dell'utente o di un bug di 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();
EDIT: ho trovato una soluzione eseguendo una query sul valore non elaborato anziché entity.value. Questa è una situazione non desiderabile però
$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();