Mencoba mendapatkan COUNT (*) dari jenis konten khusus dengan EntityFieldQuery


9

Bagaimana saya dapat mengambil 'hitungan (*)' dari kueri di drupal 7? Kueri perlu menyertakan jenis konten khusus dan bidang khusus.

Catatan

  • Jenis Konten Khusus: karyawan

  • Nama Bidang Kustom: field_employees_email

  • Sebagai catatan, saya ingin menambahkan

    WHERE field_employees_email = 'example@example.com'

ke kueri ...

Sejauh ini, saya punya sesuatu seperti:

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

Juga, apakah ada cara yang lebih mudah daripada

$total = count($result); 

untuk mengembalikan COUNT (*) dari kueri?

Jawaban:


13

Anda bisa menggunakan EntityFieldQuery :: count () , seperti yang dilaporkan dalam dokumentasi untuk EntityFieldQuery :: execute () .

[Hasilnya adalah] Entah nomor jika count()dipanggil atau array array asosiatif dari entitas rintisan.

Kode yang harus Anda gunakan mirip dengan yang berikut:

$query = new EntityFieldQuery;

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

Untuk memfilter hasil berdasarkan tipe konten, Anda perlu menggunakan EntityFieldQuery :: entityCondition ('bundle', $ content_type) .
Untuk kondisi di bidang, Anda harus menggunakan EntityFieldQuery :: fieldCondition () .


Terima kasih @kiamlaluno fieldCondition adalah apa yang saya cari. Posting ini juga cukup membantu bagi orang lain yang mencari: commerceguys.com/blog/checking-out-entityfieldquery
Citricguy
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.