سلام
من برای یک پروژه ام 4 تا جدول دارم.
جدول company , product , user , user_company
کاربرها (یوزرها) محصول تولید میکنند و در جدول محصولات (product) اون محصول با آی دی کاربر ایجاد میشه و
کمپانی ها تعداد متفاوتی یوزر دارند.
کمپانی و یوزرها از طریق جدول واسط user_company به هم وصل میشوند.
حالا مثلا یک کمپانی 10 تا یوزر داره و هر کدوم از یوزرها به طور مثال 5 تا محصول تولید میکنند، جمع محصولات تولیدی بنام این کمپانی 50 محصول هست.
من یک جدول از کمپانی ها دارم برای نمایش در سایت دارم که میخوام نام کمپانی با جمع محصولاتی که بنامش هست را نمایش بدهم.
لطفا راهنمایی بفرمایید چطور میتونم تعداد محصولات یک کمپانی را به دست بیاورم.
ممنون
سلام .
شما توی جدول product یک فیلد به اسم userid داری قطعا توسط اون یوزرآیدی میتونید محصولاتی که برای اون کمپانی هست هم بدست بیاری چرا که محصول توسط یوزر ساخته میشه و هر یوزر مربوط به یک کمپانی هست و همچنین برای بدست آوردنش هم روش های مختلفی وجود داره.
مثلا یدونش میتونه این باشه که :
-شما بیا کاربر های یک کمپانی رو بدست بیار از همون ریلیشنی که ساختی بین کاربر و کمپانی .
-بعدش بیا کاربر هارو ببر توی foreach محصولاتشونو توی یک شرط if با Product::whereUseridبگیر و بریز تو یدونه آرایه productSum$ = []
-در آخر هم جمع آرایه رو با تابع ($productSum)array_sum بگیر این میشه تعداد محصولات کمپانیت
با سلام بعد از مشخص کردن روابط در مودل ها از کد زیر استفاده کنید
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);
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟