رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
نحوه محاسبه تعداد کالاهای خریداری شده هر کالا
#1
من به این شیوه محاسبه کردم
return Orderproduct::find()->joinWith(['order','product'])->select('id')->where('order.payed=1 AND product.id=:product_id',[':product_id'=> $this->id])->count();

حالا سوال من اینه که اگه بخواهیم تعداد کالاهای خریداری شده هر کالا رو ضربدر قیمت اون کنم .. توی بخش سلکت چی باید بنویسم ؟
پاسخ
تشکر شده توسط:
#2
یه فیلد به کلاس مدلتون اضافه کنین. مثلاً:
class Orderproduct
{
    public $sumPrice;
    ...
}

حالا توی select اینطوری بنویسین:
select('(id * quantity) AS sumPrice')

به همنام‌بودن اسم فیلد و عبارت بعد از AS دقت کنید. حالا میتونین بجای count از one استفاده کنین و فیلد sumPrice رو بخونین. ضمناً وقتی با count کار میکنین select رو تغییر ندین. علتش اینه که COUNT(*) از COUNT(id) خیلی سریعتره
پاسخ
تشکر شده توسط: Alireza




کاربران در حال بازدید این موضوع: 1 مهمان