في إطار تطوير تطبيقات الويب باستخدام إطار العمل Laravel 5.2، قد تواجه في بعض الأحيان الحاجة إلى استرجاع جميع السجلات من جدول معين في قاعدة البيانات باستخدام نموذج Model. وفي سياق استفسارك، ترغب في استرجاع هذه السجلات بترتيب زمني عكسي، أي بترتيب زمني يبدأ من السجل الأحدث إلى الأقدم.
للقيام بذلك، يمكنك الاعتماد على وظيفة orderBy
المتوفرة في Laravel لتحديد حقل الفرز واتجاه الفرز. في حالتك، يمكنك تحقيق ذلك بسهولة باستخدام الاستعلام التالي:
php$posts = Post::orderBy('created_at', 'desc')->get();
في هذا الاستعلام، تم استخدام orderBy
لتحديد حقل الفرز الذي هو created_at
وتحديد اتجاه الفرز بشكل عكسي (desc
)، مما يؤدي إلى استرجاع جميع السجلات بترتيب زمني عكسي.
يمكنك تضمين هذا الاستعلام في كودك كما يلي:
php// استرجاع السجلات بترتيب زمني عكسي
$posts = Post::orderBy('created_at', 'desc')->get();
// يمكنك الآن استخدام المتغير $posts كما تشاء في التطبيق الخاص بك
يتيح لك هذا الاستعلام الحصول على البيانات بالترتيب الذي ترغب فيه، ويوفر لك السهولة والمرونة في تحديد ترتيب النتائج وفقًا لاحتياجات تطبيقك.
المزيد من المعلومات
بالتأكيد، دعنا نعزز المعلومات حول هذا الموضوع. في Laravel، الدالة orderBy
تستخدم لتحديد ترتيب النتائج وتستلم اثنين من المعاملات الرئيسية. الأولى هي اسم الحقل الذي تريد ترتيب البيانات بناءً عليه، والثانية هي اتجاه الترتيب.
على سبيل المثال، إذا كنت ترغب في ترتيب النتائج بناءً على حقل آخر مثل “updated_at” بدلاً من “created_at”، يمكنك ببساطة استبدال اسم الحقل في الدالة orderBy
:
php$posts = Post::orderBy('updated_at', 'desc')->get();
هذا يسمح لك بالحصول على مجموعة من السجلات مرتبة وفقًا لتاريخ التحديث بترتيب عكسي.
يمكنك أيضًا دمج عدة معاملات orderBy
إذا كنت بحاجة إلى ترتيب النتائج بناءً على أكثر من حقل، مثل:
php$posts = Post::orderBy('created_at', 'desc')->orderBy('title', 'asc')->get();
في هذا المثال، ستحصل على مجموعة من السجلات مرتبة ترتيبيًا عكسيًا بناءً على “created_at” ومن ثم ترتيب تصاعدي بناءً على “title”.
لتحسين أداء الاستعلامات، يمكنك أيضًا اختصار الحمولة باستخدام الدالة latest
التي تقوم بالعمل بشكل مماثل لـ orderBy('created_at', 'desc')
:
php$posts = Post::latest('created_at')->get();
هذا يجعل الشيفرة أكثر وضوحًا وسهولة فهمًا للقارئ ويحسن من قابلية صيانة الشيفرة.