شرح صفوف ومحتوى الفقرة
تحتاج بعض تقارير الإحصاء المتقدمة إلى كتابة تعبيرات SQL مخصصة مثل دوال العد والعمليات الحسابية داخل جملة الاستعلام. استخدم دائماً دوال selectRaw أو havingRaw مع تمرير المعاملات المتغيرة في مصفوفة الربط الثانية بدلاً من دمج المتغيرات نصياً.
- تحديد خام آمن (selectRaw): كتابة تعبير SQL مخصص في جملة التحديد مع تمرير المتغيرات في مصفوفة ربط آمنة.
- تصفية تجميع خام (havingRaw): فحص شروط التجميع الحسابية مع حماية المعاملات عبر علامات الاستفهام.
- تحذير أمني صارم: لا تدمج مدخلات المستخدم نصياً داخل الدوال الخام أبداً، بل مررها دائماً في مصفوفة المعاملات الثانية.
PHP
$stats = DB::table('products')
->select('category_id')
->selectRaw('SUM(price * ?) as taxed_sum', [1.15])
->groupBy('category_id')
->havingRaw('SUM(price) > ?', [1000])
->get();