Trong trường hợp sử dụng của tôi, tôi có một thực thể có hai trường liên quan đến các từ vựng độc đáo.
Tin tức: - thẻ (tham chiếu thực thể) - danh mục (tham chiếu thực thể)
Nếu tôi truy vấn một trong những tham chiếu đó, tôi nhận được kết quả tuy nhiên khi tôi truy vấn cả hai (bộ lọc AND) thì tôi không nhận được kết quả. Bây giờ tôi đã kiểm tra ba lần và có những thực thể chứa cả thẻ và danh mục tôi đang truy vấn.
Đây là lỗi người dùng hay lỗi 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: Tôi đã tìm thấy một cách giải quyết bằng cách truy vấn giá trị thô thay vì entity.value. Đây là một tình huống không mong muốn mặc dù
$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();