نوب
4 سال پیش توسط نوب مطرح شد
1 پاسخ

مشکل گرفتن جمع صحیح ستون بعد از paginate در لاراول

سلام دوستان
وقتی paginate استفاده میکنم مثلا پیشفرض 15 رکوردی نشون بده و اگر Result مربوطه مثلا 50 کورد باشه و جمع ستون sum_price مثلا قرار بر 15000000 باشه ، فقط میزان جمع همون 15 رکوردی که توی هر صفحه میبینمو نشون میده
چطور میشه به همراه paginate جمع کل تمامی ستون های result شده را نشون داد ؟
کد من

$works = $works->where('user_id', auth()->user()->id)->latest()->paginate()->withQueryString();
        $sum_prices = $works->where('user_id', auth()->user()->id)->sum('sum_price');
        $sum_prices_no_paid = $works->where('user_id', auth()->user()->id)->where('status', 'unpaid')->sum('sum_price');
        $sum_prices_paid = $works->where('user_id', auth()->user()->id)->where('status', 'paid')->sum('sum_price');

توی کد بالا من چندین جمع میگیرم که مبالغ تسویه شده - تسویه نشده و جمع کل را نشون میده
از کد total هم برای نمایش تعداد کل ردیف ها بعد paginate استفاده میکنم که درسته ولی خب این فقط تعداد ردیف میده

$count = $works->total();

اگر کد جمع ها را بالای paginate بزارم جمع ها درست نشون میده ولی خب هیچی توی paginate نمیاره برام


ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
1

کوئری رو بدون paginate کردن بریز داخل یه متغیر و متدهای sum & where که استفاده میکنی رو روی کوئری بیلدر اجرا کن. نه کالکشن


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام