كيف تحصل على min () أو max () في دروبال باستخدام وجهات النظر؟

StackOverflow https://stackoverflow.com/questions/2344888

  •  23-09-2019
  •  | 
  •  

سؤال

أنا أستخدم طرق عرض Drupal 2 ، وأحتاج إلى استرداد قيم الدقيقة من الحقول في جدول مخصص. الاستعلام عن هذا أمر سهل إذا كنت أكتبه باليد-شيء مثل ، "Select Foo ، Min (BAR) من مجموعة Table by Foo." ولكن كيف يمكنني القيام بذلك باستخدام وجهات النظر؟ لقد قمت بالفعل بتعريف الجدول في ملف Views.info ، لذلك لا توجد مشكلة في الحصول على وجهات نظر لرؤية الجدول. إنه جزء min () من الاستعلام الذي لا أفهمه.

ستكون محطتي التالية هي توثيق API للآراء ، ولكن إذا كان بإمكان شخص ما تقديم الخطوط العريضة لكيفية القيام بذلك بسرعة ، فسأقدر ذلك كثيرًا.

لا يوجد حل صحيح

نصائح أخرى

إجابة جديدة على سؤال قديم ، ولكن شيء من هذا القبيل سوف يعمل. تحتاج إلى إنشاء معالج حقل مخصص ثم لف الحقل على النحو التالي:

class views_handler_custom_field extends views_handler_field {

  function query() {
    $this->ensure_my_table();
    $this->field_alias = $this->query->add_field("MAX({$this->table_alias}", "{$this->real_field})",$this->table_alias . "_" . $this->real_field);
  }
}
  1. استخدم التجميع من التكوين المتقدم من المشاهدات. بعد تعيين هذا نعم ، يمكنك تحديد Max أو Min أو أي محدد آخر إلى الحقول.

اختبر نتائجك ولكن يجب أن تعمل بشكل جيد

  1. بدلاً من ذلك ، في بعض الحالات ، يمكنك فرز بياناتك تصاعديًا أو تنازليًا ثم اختر واحدة فقط لتظهر في العرض. يمكن أن تكون مشكلة عند عرض حقول متعددة أو نحو ذلك.

بعد اختبار أول واحد يبدو أن أسرع على الأقل على نطاق صغير.

يمكن للمرء أن ينظر في الوحدات النمطية مجموعة من و views_calc, ، لكنني أفترض أنها غير مقبولة بالنسبة لك.
بالإضافة إلى ذلك ، يمكنك تحقيق ذلك باستخدام وحدة مخصصة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top