[ 'class' => LanguageBehavior::className(), 'objectLang' => OrderLabelLang::className(), 'ownerKey' => 'id', 'langKey' => 'order_label_id', ], ]; } public function getStatistics(array $date = [], array $manager = []) { $query = ( new Query() )->select( [ 'sum' => 'SUM(total)', 'count' => 'COUNT(*)', 'unique' => ( new Query() )->select('COUNT(*)') ->from('order') ->leftJoin( 'order_product', '"order"."id"="order_product"."order_id"' ) ->where([ 'order.label' => $this->id ]) ->andFilterWhere( $date ) ->andFilterWhere($manager), 'products' => ( new Query() )->select('SUM(count)') ->from('order') ->leftJoin( 'order_product', '"order"."id"="order_product"."order_id"' ) ->where([ 'order.label' => $this->id ]) ->andFilterWhere( $date ) ->andFilterWhere($manager), ] ) ->from('order') ->where([ 'label' => $this->id ]) ->andFilterWhere( $date ) ->andFilterWhere($manager); return $query->one(); } }