EntityFieldQuery 객체를 사용하여 쿼리를 실행하고 싶습니다. node 및 node_access 테이블의 값이 필요하므로 INNER JOIN을 사용해야합니다. do 문서에서 이것이 어떻게 가능한지 알 수 없습니다.
여기 내가 가진 것이있다.
$query = new EntityFieldQuery();
$result = $query->entityCondition('entity_type', 'node')
->entityCondition('bundle', 'node_access')
->propertyCondition('type', 'external_link')
->propertyCondition('status', 1)
->fieldCondition('gid', '3', '=')
->fieldCondition('realm', 'domain_id', '=')
->fieldCondition('grant_view', '1', '>=')
->range(0,1)
->execute();
1
Drupal 7에서는 즉석에서 수행 할 수 없지만 Drupal 8에서 수행 할 수 있습니다 (이 문서 작성 시점에 릴리스되지 않음). 세부 사항 (예제 포함)에 대해서는 엔티티 필드 조회에 조인 지원이 있습니다. 를 참조하십시오.
—
colan
Drupal 8에서 모든 조건은 (-> condition ())과 같습니다. D8의 EFQ 예 : $ result = \ Drupal :: entityQuery ( 'node')-> condition ( 'type', array ( 'entity_a', 'entity_b'), 'IN')-> condition ( 'status' , NODE_PUBLISHED)-> condition ( 'field_myfield.value', '5', '=')-> execute (); 드루팔 8 EFQ에서 collumn 드루팔 7 field_name.value field_name.target_id 또는 이름 필드에 직접 정의된다
—
woprrr
->fieldCondition('field_name', 'target_id', $entities_a, 'IN');