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

كيفية تحديد الصفوف ذات الحد الأقصى "created_at" لكل "seller_id" فريد في Laravel Eloquent؟

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

How to Select Rows with the Maximum `created_at` for Each Unique `seller_id` in Laravel Eloquent?

Laravel Eloquent: تحديد الصفوف ذات الحد الأقصى الذي تم إنشاؤه_at

في Laravel Eloquent، قد تواجه سيناريوهات حيث تحتاج إلى تحديد جميع الصفوف ذات الحد الأقصى قيمة create_at لكل معرف بائع فريد في الجدول. إليك كيفية تحقيق ذلك:

استخدام استعلام SQL الخام

أحد الأساليب هو استخدام استعلام SQL أولي، والذي قد يكون أكثر كفاءة في ظروف معينة:

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

استخدام Query Builder

بدلاً من ذلك، يمكنك استخدام منشئ الاستعلامات Laravel للحصول على نهج أكثر توجهاً للكائنات:

 DB::table('snapshot as s')
  ->select('s.*')
  ->leftJoin('snapshot as s1', function ($join) {
        $join->on('s.seller_id', '=', 's1.seller_id')
             ->whereRaw('s.created_at whereNull('s1.seller_id')
  ->get();
ستعيد كلتا الطريقتين مجموعة من الكائنات التي تمثل أحدث الصفوف لكل معرف بائع فريد في جدول اللقطة.

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

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

Copyright© 2022 湘ICP备2022001581号-3