EntityFieldQuery를 사용하여 사용자 정의 컨텐츠 유형에서 COUNT (*) 가져 오기


9

drupal 7의 쿼리에서 'count (*)'를 어떻게 검색합니까? 쿼리에는 사용자 정의 컨텐츠 유형 및 사용자 정의 필드가 포함되어야합니다.

노트

  • 맞춤 콘텐츠 유형 : 직원

  • 사용자 정의 필드 이름 : field_employees_email

  • 참고로, 나는 추가하려고합니다

    WHERE field_employees_email = 'example@example.com'

쿼리에 ...

지금까지 나는 다음과 같은 것을 가지고있다 :

$query = new EntityFieldQuery;    

$result = $query
     ->entityCondition('entity_type', 'node')
     ->propertyCondition('status', 1) // Getting published nodes only.
     ->propertyCondition('type', 'employees') //Getting 'employees' type only.
     // How do I include custom field as part of query?
     ->execute();

또한보다 쉬운 방법이 있습니까

$total = count($result); 

쿼리에서 COUNT (*)를 반환하려면?

답변:


13

EntityFieldQuery :: execute () 문서에보고 된대로 EntityFieldQuery :: count ()를 사용할 수 있습니다 .

[결과는] count()호출 된 경우 숫자 이거나 스텁 엔티티의 연관 배열 배열입니다.

사용해야하는 코드는 다음 코드와 유사합니다.

$query = new EntityFieldQuery;

$count = $query->entityCondition('entity_type', 'node')
  ->entityCondition('bundle', 'employees')
  ->propertyCondition('status', 1) // Getting published nodes only.
  ->count()
  ->execute();

컨텐츠 유형별로 결과를 필터링하려면 EntityFieldQuery :: entityCondition ( 'bundle', $ content_type) 을 사용해야 합니다.
필드 조건의 경우 EntityFieldQuery :: fieldCondition () 을 사용해야합니다 .


감사합니다 @kiamlaluno fieldCondition은 내가 찾고있는 것입니다. 이 포스팅은 물론 다른 사람 검색을위한 매우 도움이되었다 : commerceguys.com/blog/checking-out-entityfieldquery
Citricguy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.