coarad supp
4 سال پیش توسط coarad supp مطرح شد
5 پاسخ

دسته بندهایی با بیشترین سفارش

$data = Category::select('categories.id' , 'categories.title' , DB::raw( 'COUNT(*) AS count' ) )
                     ->join( 'products' , 'categories.id' , '=' , 'products.category_id' )
                     ->join( 'orders' , 'orders.product_id' , '=' , 'products.id' , 'left outer' )
                     ->groupBy( 'categories.id' )
                     ->get();

سلام دوستان؛ میخوام براساس دسته بندی ببینیم کدوم دسته بندی بیشترین فروش رو داشته، این کوئری رو زدم، درسته؟

اطلاعات رو برمیگردونه، ولی تعداد رو با هم جمع میزنم با تعداد کل سفارشات برابر نیست


ثبت پرسش جدید
محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 4 سال پیش مطرح شد
0

@coaradsupp
سلام.
خروجی این الان به چه صورت هستش؟
شما در نهایت چه خروجی می خواهید؟


coarad supp
تخصص : برنامه نویس لاراول
@coaradsupp 4 سال پیش مطرح شد
0

@mohsenbostan
سلام،
یه ارایه به این شکل

[
...
{title:x,categories:2},
{title:y,categories:10},
...
]

میخوام مثلا محصولات دسته x فلان قدر سفارش داشته، اسم اون دسته و تعداد سفارش هاشو میخوام در بیارم


محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 4 سال پیش مطرح شد
0

@coaradsupp
مقدار اختلاف برای هر دسته رو حساب کنید ببینید از هر دسته مقدار معینی فرق داره یا رندومه.


محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 4 سال پیش مطرح شد
0

@coaradsupp
از کد زیر استفاده کنید:

App\Category::whereHas('products', function (Builder $query) {
    $query->withCount('orders');
})->get();

coarad supp
تخصص : برنامه نویس لاراول
@coaradsupp 4 سال پیش مطرح شد
0

@mohsenbostan
ممنون
این تعداد سفارشات رو برنمیگردونه اقای بستان، کوئری که خودم زدم تعداد رو یه حدودا 100 تا کمتر از تعداد کل سفارشات میزنه، دلیلشم نفهمیدم هنو


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

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