Манипулирование данными после запроса gridview в Yii - PullRequest
0 голосов
/ 02 мая 2019

У меня есть Gridview с данными из таблицы, которая обычно в порядке, как есть. Но в некоторых случаях мне приходится манипулировать данными, и я не могу просто сделать это из запроса, поскольку существует много разных случаев и требуются сложные вычисления.

Пример: база данных, загруженная из базы данных:

date        price   buy_price
2019-05-01  15.75   10
2019-05-02  20.15   10.50

те же данные, которые прошли сложные вычисления

date        price   buy_price
2019-05-01  3.75   3
2019-05-02  4.70   3.10

Я хотел бы использовать GridView, потому что фильтрация и сортировка ajax действительно полезны.

Как я могу манипулировать данными ПОСЛЕ запроса, который Gridview выполняет на основе DataProvider?

1 Ответ

0 голосов
/ 02 мая 2019

В качестве примера в Документация Yii2 о GridvViews говорится, что вы можете манипулировать любым столбцом по своему усмотрению следующим образом:

echo GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
    ['class' => 'yii\grid\SerialColumn'],
    // Simple columns defined by the data contained in $dataProvider.
    'data',
    [
        'attribute' => 'price',
        'value' => function ($model) {
            return $model->getValue();  // Here you can manipulate the data as you wish.
        },
    ],
    [
        'attribute' => 'buy_price',
        'value' => function ($model) {
            return $model->buy_price * 2;  //Here you can manipulate the data as you wish.
        },
    ],
],]); 

После манипулирования данными вы все равно можете использовать сортировку или фильтрацию ajax.

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