z.mehran
4 سال پیش توسط z.mehran مطرح شد
1 پاسخ

پرفروش ترین محصولات فروشگاه

سلام من یه فروشگاهی دارم که میخوام پرفروش ترین محصولات هر دسته بندی رو بتونم ببینم با فیلتر کردن . جدولی به نام payment دارم که محصولات خریداری شده در این جدول ثبت میشن دو فیلد user_id , product_id دارم که در فیلد product_id آی دی محصولاتی که کاربر خریداری کرده به صورت string ذخیره میشه (2-5-8) . چه جوری میتونم پرفروش ترین محصولات رو از هر دسته به دست بیارم؟


ثبت پرسش جدید
محسن مهری
تخصص : برنامه نویس back-end با زبان...
@mohsen.mehri6101 4 سال پیش آپدیت شد
0

سلام - اگه توی جدول payment ات دسته ها رو رو هم ذخیره میکنی میتونه اینجوری بشه(البته میدونم این خط کد بهینه نیست زیاد)

$categories=Payment::all()->pluck('category')->toArray();
$list=array();
foreach ($categories as $category){
    $max=Payment::WhereCategory($category)->orderBy('price', 'desc')->first();
    array_push($list,$max);
}

فرض کردم توی جدول payment ات کالا و نوع کالا رو هم ذخیره میکنی، و همچنین قیمت رو
بعدش یک لیست از کل انواع دسته بندی ها رو پیدا کردم
بعدش توی یک حلقه یکی یکی انواع کالا های یک دسته رو فیلتر کردم، سپس از بزرگترین قیمت به کوچکترین قیمت مرتب کردم و اولین خونش( که max هستش) رو توی یک لیست که میشه لیست خروجی push کردم


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

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