راکت
4 پاسخ

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

با سلام دوستان عزیزم
بنده برای صفحه محصولاتم میخوام چندتا فیلتر بذارم :
جدیدترین
قدیمی ترین
کمترین قیمت
بیشترین قیمت
کمترین فروش
بیشترین فروش

جدیدترین و قدیمی ترین که با یک orderBy نمایش داده میشه
ولی مابقی رو نمی دونم چطور نمایش بدم
مثلا محصولاتی که بیشترین فروش رو دارن

ممنون میشم مثل همیشه دوستان راهنمایی کنن
@TimeRunner2359
@ashkannazari248
@masoudproton
@milad
@ali.bayat
@Alimotreb
@hesammousavi
@endworld
@code2code
@khanzadimahdi
@info.aligraph
@SeyedMH.Mosavi


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

گزینه های کمترین قیمت و بیشترین قیمت خیلی راحتند
بر اساس قیمت لیست کن و از OrderBy استفاده کن

برای پر فروش ترین ها باید پس از هر فروش نام و مشخصات محصولی که فروش رفته رو جایی ذخیره کنی


میلاد بسحاق
میلاد بسحاق
@miladboshagh5 سال پیشمطرح شد
0

@ali.bayat

داداش چون هر محصول متغییر هست، قیمت ها داخل جدول دیگری ذخیره میشن

برای فروش هم اطلاعات سفارشات و پرداختی ها ذخیره میشه

من مشکلم اینجاست که: الان مثلا داخل این صفحه که محصولات نمایش داده میشه، اگر بخوام بر حسب فروش فیلترشون کنم چکار کنم ؟


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

اطلاعات جدول ها رو Join کنید و بیشترین و کمترین رو به دست بیارید


محمد امیری
محمد امیری
تخصص :backend coder
@mohammadeng37315 سال پیشمطرح شد
0

سلام.
.شما لازم هستش یک رابطه چند به چند بین سفارشات و محصولات ایجاد کنید و یک فیلد برای تعداد فروش یا حالا قیمت فروش در هر سفارش برای هر محصول ایجاد کنید و بر اساس اون sum کنید که من بر اساس تعداد فروش براتون کد زیر رو قرار دادم و با جدول pivot کارتون رو انجام بدید.متاسفانه برای elequent در مورد این مورد چیز بدرد بخوری وجود نداره و از querybuilder باید استفاده کنید و کد زیر رو بزنید مثلش رو :

    $order_product = DB::table('order_product')
        ->select('product_id', DB::raw('sum(product_number) as number'))
        ->groupBy('product_id');

    $products = DB::table('products')
        ->joinSub($order_product, 'order_product', function ($join) {
            $join->on('products.id', '=', 'order_product.product_id');
        })->get();

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

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