"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية جلب أحدث لقطة لكل بائع باستخدام Laravel Eloquent؟

كيفية جلب أحدث لقطة لكل بائع باستخدام Laravel Eloquent؟

تم النشر بتاريخ 2024-11-09
تصفح:959

How to Fetch the Latest Snapshot for Each Seller Using Laravel Eloquent?

استعلام بليغ لاختيار أحدث الصفوف المجمعة حسب البائع

بالنظر إلى جدول يتكون من معلومات متعلقة بالبائع بما في ذلك الطوابع الزمنية التي تم إنشاؤها، غالبًا ما يكون من الضروري استرداد فقط أحدث الإدخالات لكل بائع. يمكن إنجاز هذه المهمة بشكل فعال باستخدام Laravel Eloquent.

لتحقيق ذلك، يمكننا استخدام استعلام فرعي MySQL يحدد أحدث صف لكل معرف البائع باستخدام صلة أيسر ومطابقة NULL. يمكن بعد ذلك استخدام هذا الاستعلام الفرعي مع Eloquent لاسترداد البيانات المطلوبة.

في SQL، سيبدو الاستعلام كما يلي:

select s.*
from snapshot s
left join snapshot s1 on s.seller_id = s1.seller_id
and s.created_at 

مترجم إلى Laravel Eloquent، سيتم كتابة الاستعلام على النحو التالي:

DB::table('snapshot as s')
  ->select('s.*')
  ->leftJoin('snapshot as s1', function ($join) {
        $join->on('s.seller_id', '=', 's1.seller_id')
             ->whereRaw(DB::raw('s.created_at whereNull('s1.seller_id')
  ->get();

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

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3