تالار گفتمان nCIS.ir

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

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

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

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