Готовый пример вьюшки для подсчета суммы столбца в GridView. Foreach’ем перебираем все цены в нашей модели и закидываем в переменную. Активируем в опциях виджета 'showFooter' => true, а в сам столбец еще подкинем нашу переменную с общей суммой 'footer' => $saleTotal, короткий обряд сохранения и готово
P.S. Перфекционисты могут доработать код поместив перебор Foreach’ем в метод модели
<?php
use yii\helpers\Html;
use yii\grid\GridView;
/* @var $this yii\web\View */
/* @var $dataProvider yii\data\ActiveDataProvider */
$this->title = 'Yii2 сумма по столбцу GridView';
$this->params['breadcrumbs'][] = $this->title;
$saleTotal = 0;
foreach ($dataProvider->models as $item ) {
$saleTotal += (empty($item->sale)) ? 0 : $item->sale;
}
?>
<div>
<h1><?= Html::encode($this->title) ?></h1>
<?= GridView::widget(
[
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'showFooter' => true,
'columns' => [
[ 'class' => 'yii\grid\SerialColumn' ],
'id',
'name:text:Наименование',
[
'attribute' => 'sale',
'contentOptions' => ['class' => 'text-right',],
'format' => 'currency',
'footer' => Yii::$app->formatter->asCurrency($saleTotal),
'footerOptions' => ['class' => 'text-right',],
'value' => 'sale',
],
['class' => 'yii\grid\ActionColumn']
],
] );
?>
</div>