meisam moradian
3 سال پیش توسط meisam moradian مطرح شد
3 پاسخ

تعداد فروش

سلام
من برای یک پروژه ام 4 تا جدول دارم.
جدول company , product , user , user_company
کاربرها (یوزرها) محصول تولید میکنند و در جدول محصولات (product) اون محصول با آی دی کاربر ایجاد میشه و
کمپانی ها تعداد متفاوتی یوزر دارند.
کمپانی و یوزرها از طریق جدول واسط user_company به هم وصل میشوند.
حالا مثلا یک کمپانی 10 تا یوزر داره و هر کدوم از یوزرها به طور مثال 5 تا محصول تولید میکنند، جمع محصولات تولیدی بنام این کمپانی 50 محصول هست.
من یک جدول از کمپانی ها دارم برای نمایش در سایت دارم که میخوام نام کمپانی با جمع محصولاتی که بنامش هست را نمایش بدهم.
لطفا راهنمایی بفرمایید چطور میتونم تعداد محصولات یک کمپانی را به دست بیاورم.
ممنون


ثبت پرسش جدید
حساب مشترک
تخصص : برنامه نویس وب و موبایل
@amirali.hannan 3 سال پیش آپدیت شد
0

سلام .
شما توی جدول product یک فیلد به اسم userid داری قطعا توسط اون یوزرآیدی میتونید محصولاتی که برای اون کمپانی هست هم بدست بیاری چرا که محصول توسط یوزر ساخته میشه و هر یوزر مربوط به یک کمپانی هست و همچنین برای بدست آوردنش هم روش های مختلفی وجود داره.

مثلا یدونش میتونه این باشه که :
-شما بیا کاربر های یک کمپانی رو بدست بیار از همون ریلیشنی که ساختی بین کاربر و کمپانی .
-بعدش بیا کاربر هارو ببر توی foreach محصولاتشونو توی یک شرط if با Product::whereUseridبگیر و بریز تو یدونه آرایه productSum$ = []
-در آخر هم جمع آرایه رو با تابع ($productSum)array_sum بگیر این میشه تعداد محصولات کمپانیت


Ali
@411proplayer 3 سال پیش مطرح شد
مهدی
تخصص : برنامه نویس
@mahdiam200 3 سال پیش آپدیت شد
0

با سلام بعد از مشخص کردن روابط در مودل ها از کد زیر استفاده کنید

 foreach($companies as $company){
     $product_counter = 0;
    foreach($company->users as $user){
        $product_counter += $user->products->count();
      }
      dump("company name:".$company->name."count of companies product:".$product_counter);
 }

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

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