$label]; } else { $labelFilter = []; } /** * Get labels */ $labels = Label::find() ->with('lang') ->all(); /** * Generate statistics */ $labelStatistics = ArrayHelper::map( $labels, function($model) { /** * @var Label $model */ return $model->lang->title; }, function($model) use ($dateFilter) { /** * @var Label $model */ return $model->getStatistics($dateFilter);} ); $dataProvider = new ActiveDataProvider([ 'query' => Order::find()->filterWhere($dateFilter)->andFilterWhere($labelFilter), ]); return $this->render( 'index', [ 'labels' => $labels, 'labelStatistics' => $labelStatistics, 'rejectionStatistics' => Order::getRejectionStatistics($dateFilter), 'dataProvider' => $dataProvider, ] ); } }