اذهب إلى المحتوى

السؤال

نشر

أحاول أن أقوم بعمل زر يقوم بعرض تدوينة عشوائية في المشروع الخاص بي، ولكن لا أعلم كيف يمكنني الحصول على تدوينة عشوائية في لارافيل Laravel، فكرت في أن أقوم بتوليد رقم عشوائي ليكون هو معرف المنشور id ولكن عدد التدوينات متغير ولا يمكن الإعتماد عليه لهذا الغرض، هل توجد طريقة أفضل للحصول على منشور عشوائي من قاعدة البيانات في لارافيل Laravel؟

Recommended Posts

  • 1
نشر

يمكنك أيضا استعمال التابع inRandomOrder للحصول على نتيجة عشوائية من بين تجميعة نتائج كالتالي: 

$users = User::inRandomOrder()->first();

أو كطريقة أقرب لـ SQL أكثر يمكنك ترتيب الصفوف التي تجلبها من قواعد البيانات بواسطة الدالة RAND()  منتجة استعلاما مشابها لـ: 

select * from users order by RAND() ASC

وذلك كالتالي: 

$user = User::select("*")->orderBy(DB::raw('RAND()'))->first();

وبالطبع فإن هذا سيتطلب منك تضمين الواجهة DB قبل استعمال اي توابع لها. 

use DB;

 

  • 1
نشر

يمكنك ذلك من خلال استخدام الدالة random بعد الحصول على جميع الصفوف كالتالي, على فرض اننا نريد الحصول على مستخدم عشوائي فيمكننا ذلك من خلال

return User::all()->random();

في كل مرة سوف يتم الحصول على صف عشوائي

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...