protected function updateOrderTotal($orderId) { $orderId = (int) $orderId; $resultSet = (new Query())->select(['SUM(total) AS total', 'SUM(qty) AS qty'])->from('{{%cart_item}}')->where('{{%cart_item}}.order_id = :order_id', ['order_id' => $orderId])->one(); $order = CartOrder::find()->where('id = :order_id ', ['order_id' => $orderId])->one(); if ($order) { $order->total = $resultSet['total']; $order->qty = $resultSet['qty']; $order->save(); } }
/** * @return \yii\db\ActiveQuery */ public function getCartOrders() { return $this->hasMany(CartOrder::className(), ['device_id' => 'id']); }
/** * @return \yii\db\ActiveQuery */ public function getOrder() { return $this->hasOne(CartOrder::className(), ['id' => 'order_id']); }