Сводка столбца Yii2 Gridview на основе вычисленного дочернего значения - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь вычислить сводку столбца в GridView на основе вычисленных дочерних значений.Как этого достичь?

В связи с этим:

<?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'showFooter' => true,
        'columns' => [
            [
                'header' => 'Any header',
                'value' => function ($model){return $model->sumChildvalue();},
                'footer' => 'VALUE SHOULD BE CALCULATED HERE...',

            ],
        ],
    ]); ?>

Я полагаю, что мог бы запустить функцию в модели, пересчитав sumChildvalue() для каждой модели в $dataProvider, ноэто кажется неэффективным.

1 Ответ

0 голосов
/ 07 июня 2018

Вы можете просто передать значение извне, оно может быть вычислено перед запуском виджета GridView ::, поэтому вы можете перебирать модели $ dataProvider-> раньше.

<?php
$footerValue = 0;
foreach ($dataProvider->models as $model) {
    $footerValue += $model->value;
}
?>

<?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'showFooter' => true,
        'columns' => [
            [
                'header' => 'Any header',
                'value' => function ($model){
                      return $model->sumChildvalue();
                 },
                'footer' => $footerValue, // Pass the value here

            ],
        ],
    ]); ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...