Próbuję uzyskać COUNT (*) z niestandardowego typu treści za pomocą EntityFieldQuery


9

Jak mogę pobrać „count (*)” z zapytania w Drupal 7? Kwerenda musi zawierać niestandardowy typ treści i niestandardowe pole.

Notatki

  • Niestandardowy typ treści: pracownicy

  • Niestandardowa nazwa pola: field_employees_email

  • Dla przypomnienia, chcę dodać

    GDZIE field_employees_email = 'example@example.com'

do zapytania ...

Do tej pory mam coś takiego:

$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();

Jest też łatwiejszy sposób niż

$total = count($result); 

zwrócić COUNT (*) z zapytania?

Odpowiedzi:


13

Możesz użyć EntityFieldQuery :: count () , jak podano w dokumentacji EntityFieldQuery :: execute () .

[Wynikiem jest] Albo liczba, jeśli count()została wywołana, albo tablica tablic asocjacyjnych encji pośredniczących.

Kod, którego należy użyć, jest podobny do następującego:

$query = new EntityFieldQuery;

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

Aby odfiltrować wynik według typu zawartości, musisz użyć EntityFieldQuery :: entityCondition („pakiet”, typ_tekstu) .
W przypadku warunków na polach należy użyć EntityFieldQuery :: fieldCondition () .


Dziękuję @kiamlaluno field Warunki, których szukałem. Ten post był bardzo pomocny dla każdego, kto również szuka: commerceguys.com/blog/checking-out-entityfieldquery
Citricguy
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.