У меня на данный момент выводит таблицу с суммой всех отображенных элементов на странице. То есть если я вывожу 'pageSize' => 20, То получу сумму выручки из 20 отображенных элементов. Как выводить сумму за одну дату ? Я еще плохо разбираюсь в yii2 , если кто то предложит пример буду благодарен.
view.
<?php
/* @var $this yii\web\View */
use yii\helpers\Html;
use yii\grid\GridView;
use yii\data\ActiveDataProvider;
use frontend\models\NumberColumn;
$dataProvider = new ActiveDataProvider([
'query' => \app\models\Zakaz::find(),
'pagination' => [
'pageSize' => 20,
],
]);
$this->title = 'Аналитика';
$this->params['breadcrumbs'][] = $this->title;
print_r ($arrayInView);
?>
<div class="site-about">
<h1><?= Html::encode($this->title) ?></h1>
<?php echo GridView::widget([
'dataProvider' => $dataProvider,
'showFooter' => true,
'columns' => [
'id_zakaz',
[
'attribute' => 'data',
'format' => ['date', ' dd.MM.YYYY'],
'options' => ['width' => '200']
],
[
'class' => NumberColumn::className(),
'attribute' => 'fact_oplata',
],
],
]);?>
</div>
NumberColumn - для получение суммы
<?php
namespace frontend\models;
use yii\grid\DataColumn;
class NumberColumn extends DataColumn
{
private $_total = 0;
public function getDataCellValue($model, $key, $index)
{
$value = parent::getDataCellValue($model, $key, $index);
$this->_total += $value;
return $value;
}
protected function renderFooterCellContent()
{
return $this->grid->formatter->format($this->_total, $this->format);;
}
}
Вот что у меня получается.
Вот что я хотел бы получить для каждой даты