В моем случае использования у меня есть объект, который имеет два поля, которые ссылаются на уникальные словари.
Новости: - тег (ссылка на сущность) - категория (ссылка на сущность)
Если я запрашиваю одну из этих ссылок, я получаю результаты, однако, когда я запрашиваю оба (фильтр AND), я не получаю никаких результатов. Я уже проверил трижды, и есть объекты, которые содержат тег и категорию, которые я запрашиваю.
Это ошибка пользователя или ошибка 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();
РЕДАКТИРОВАТЬ: я нашел обходной путь, запросив необработанное значение вместо 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();