У моєму випадку використання є об'єкт, який має два поля, що посилаються на унікальні словники.
Новини: - тег (посилання на сутність) - категорія (посилання на суб’єкт)
Якщо я запитую по одній із цих посилань, я отримую результати, проте коли запитую обидва (фільтр І), я не отримую результатів. Я вже тричі перевірив це, і є об'єкти, які містять і тег, і категорію, яку я запитую.
Це помилка користувача чи помилка 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: Я знайшов обхід, запитуючи про вихідну вартість замість entity.value. Це, однак, небажана ситуація
$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();