it-swarm-eu.dev

Pokoušíme se získat COUNT (*) z vlastního typu obsahu pomocí EntityFieldQuery

Jak mohu načíst 'count (*)' z dotazu v drupal 7?) Dotaz musí obsahovat vlastní typ obsahu a vlastní pole.

Poznámky

  • Vlastní typ obsahu: zaměstnanci

  • Název vlastního pole: field_employees_email

  • Jako poznámku, chci přidat

    WHERE field_employees_email = '[email protected]'

na dotaz ...

Zatím mám něco jako:

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

Existuje také snadnější způsob než

$total = count($result); 

vrátit COUNT (*) z dotazu?

10
Citricguy

Můžete použít EntityFieldQuery :: count () , jak je uvedeno v dokumentaci pro EntityFieldQuery :: execute () .

[Výsledek je] Buď číslo, pokud bylo voláno count(), nebo pole asociativních polí stub entit.

Kód, který byste měli použít, je podobný následujícímu:

$query = new EntityFieldQuery;

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

Chcete-li filtrovat výsledek podle typu obsahu, musíte použít EntityFieldQuery :: entityCondition ('bundle', $ content_type) .
Pro podmínky v polích byste měli použít EntityFieldQuery :: fieldCondition () .

13
kiamlaluno