صديقى العزيز مطور لارافيل اهلا بيك مره اخرى فى مقالاتى المتواضعة جدا انهارده هنتعرف عن كيفية عمل ال
Chunk
وازاى هى بتشتغل قبل ما نبدأ سريعا كده هى اصلا الفانكشن دى بتعمل ايه هى ببساطه لو عندك استعلام هيرجع بداتا كتيره من الداتابيز فا هى بتقسم الاستعلام ده لاستعلامات صغيره على حسب عدد معين انت بتبعته كا براميتر أول فى الفانكشن
وده مثال عليها
DB::table('users')->orderBy('id')->chunk(5, function ($users) {
foreach($users as $user){
echo $user->name . "<br>";
}
});
خلينا الاول نشرح الكود ده واحده واحده هنا لو انا عندى 100 مستخدم فى الداتا بيز فا هيعمل 20 استعلام لانها واخده رقم 5 كا براميتر أول فا 100\5 = 20 طبعا هنا المثال على مستخدمين قليلين لكن لو عندك الافات فا اكيد مش هتعمل جلب ل 5 فى كل مره المهم هنا اللى بيحصل ايه بقا ان اول مره بيروح ينفذ الاستعلام ده
select * from `users` order by `id` asc limit 5 offset 0
هنا بقا اللى حصل اخد الرقم 5 اللى انا بعته مع الفانكشن كا اول براميتر وكتبها عند ال
limit
وبدأ ال
offset 0
هيرجع بقا يكتب تانى استعلام ويبدأ من ال
offset 5
بالشكل ده
select * from `users` order by `id` asc limit 5 offset 5
فى الاستعلام الثالث نفس الكلام لكن هيبدأ من ال
offset 10
select * from `users` order by `id` asc limit 5 offset 10
وهكذا للنهايه وطبعا هنا لازما اكتب ال
orderby id
علشان يرتبهم ويعرف ال
offset
ماشى ازاى
وبس كده عزيزى مبرمج اللارفيل
متنساش اللايك والفولو الجميل وشير بقا والحاجات الحلوه دى
سلام عليكم
Top comments (0)