EntityFieldQuery के साथ कस्टम सामग्री प्रकार से COUNT (*) प्राप्त करने की कोशिश कर रहा है


9

मैं ड्रुपल 7 में क्वेरी से 'काउंट (*)' कैसे प्राप्त कर सकता हूं? क्वेरी में एक कस्टम सामग्री प्रकार और एक कस्टम फ़ील्ड शामिल करने की आवश्यकता है।

टिप्पणियाँ

  • कस्टम सामग्री प्रकार: कर्मचारी

  • कस्टम फ़ील्ड नाम: 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 :: count () का उपयोग कर सकते हैं , जैसा कि EntityFieldQuery :: execute () के लिए प्रलेखन में बताया गया है ।

[परिणाम है] या तो एक नंबर count()कहा जाता है या स्टब संस्थाओं के साहचर्य सरणियों की एक सरणी थी।

आपके द्वारा उपयोग किया जाने वाला कोड निम्न के समान है:

$query = new EntityFieldQuery;

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

सामग्री प्रकार द्वारा परिणाम को फ़िल्टर करने के लिए, आपको EntityFieldQuery :: unitCondition ('बंडल', $ content_type) का उपयोग करने की आवश्यकता है ।
खेतों की स्थितियों के लिए, आपको EntityFieldQuery :: fieldCondition () का उपयोग करना चाहिए ।


शुक्रिया @kiamlaluno फील्डकॉन्डीशन है जो मैं ढूंढ रहा था। यह पोस्ट किसी और के लिए भी बहुत उपयोगी थी: Commerceguys.com/blog/checking-out-entityfieldquery
Citricguy
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.