Ho un tipo di contenuto che ha un campo di riferimento dell'entità che consente agli utenti di aggiungere più termini di tassonomia in quel campo. Sto tentando di eseguire query che catturano nodi con un insieme specifico di termini di tassonomia all'interno di quel campo.
L'uso di un valore in quel campo funziona bene, in questo modo.
$query = \Drupal::entityQuery('node')
->condition('status', NODE_PUBLISHED)
->condition('type', 'custom_type')
->condition('custom_taxonomy', 2)
->sort('field_last_name', DESC);
Dove 2 è l'id del termine che sto cercando. Tuttavia, quando provo a cercare nodi che contengono due termini specifici in questo modo,
$query = \Drupal::entityQuery('node')
->condition('status', NODE_PUBLISHED)
->condition('type', 'custom_type')
->condition('custom_taxonomy', [2,8])
->sort('field_last_name', DESC);
Ricevo l'errore
Numero parametro non valido: il numero di variabili associate non corrisponde al numero di token:
Ho anche provato
$query = \Drupal::entityQuery('node')
->condition('status', NODE_PUBLISHED)
->condition('type', 'custom_type')
->condition('custom_taxonomy', [2,8], 'IN')
->sort('field_last_name', DESC);
Il che non fallisce, ma non fornisce i risultati previsti. Visualizza tutti i nodi che hanno il termine 2 O il termine 8. Invece del termine 2 E il termine 8 come previsto. Come eseguirò una query che controlla se un nodo ha più valori specifici in un campo di riferimento dell'entità?