كل المقالات →

الاستعلام باستخدام GlideQuery

نُشر في ١٦ نوفمبر ٢٠٢٢ · 1 دقائق قراءة

استخدمت GlideRecord طوال تسع سنوات. حان الوقت للمضي قدماً وتجربة GlideQuery. يوضح هذا المقال كيفية تشغيل استعلام باستخدام GlideQuery.

الهدف

إرجاع جميع أرقام الحوادث ذات الأولوية العالية (P1).

مع GlideRecord

var gr = new GlideRecord('incident');
gr.addQuery('priority', 1);
gr.query();
while (gr.next()) {
  gs.info(gr.number);
}

هذا يعمل، لكنه مطوّل وإجرائي — أنت تخبر المنصة كيف تفعل الأمر بدلاً من ماذا تريد.

مع GlideQuery

ما يعجبني في GlideQuery أنه يُقرأ أشبه بـSQL. لو أردت التعبير عن الاستعلام ذاته بـSQL لبدا هكذا:

SELECT number
FROM incident
WHERE priority = 1

وإليك ما يقابله بـGlideQuery:

new GlideQuery('incident')
  .where('priority', 1)
  .select('number')
  .forEach(function(incident) {
    gs.info(incident.number);
  });

لماذا GlideQuery أفضل؟

  • قابل للقراءة — النية واضحة للوهلة الأولى
  • قابل للتسلسل — يمكن تأليف الشروط والإسقاطات بسلاسة
  • أكثر أماناً — يتجنب بعض المزالق الشائعة في GlideRecord (كنسيان .query())
  • شبيه بـSQL — إذا كنت تعرف SQL، فالنموذج الذهني ينتقل فوراً

GlideQuery متاح من إصدار Orlando فصاعداً. إذا كنت لا تزال تكتب GlideRecord لكل استعلام، فالتبديل يستحق الجهد.