GridView::widget сумма столбцов(атрибутов)

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Maksim86
Сообщения: 16
Зарегистрирован: 2019.05.02, 10:15

GridView::widget сумма столбцов(атрибутов)

Сообщение Maksim86 »

Добрый день! Использую GridView::widget для вывода данных таблиц БД. Код самого виджета представлен ниже, в нём под вопросами в 'label' => 'Сумма'."\n".'НДС' хотел вставить получаемое значение из 'attribute' => 'amount', но не понимаю, как это сделать, может нужно отдельный метод в контроллере создавать? Подскажите пожалуйста, как правильно (грамотно) решить этот вопрос.

Код: Выделить всё

 <?=
                GridView::widget([
                    'dataProvider' => $dataProvider,
                    'summary' => false,
                    'showFooter' => true,
                    'columns' => [
                        [
                            'class' => 'yii\grid\SerialColumn',
                            'header' => '№'. "\n".'пп' ,
                        ],
                        [
                            'attribute' => 'position.art',
                            'header' => 'Артикул',
                        ],
                        [
                            'attribute' => 'position.shtrih',
                            'header' => 'Штрихкод',
                        ],
                        [
                            'attribute' => 'position.name',
                            'header' => 'Название товара',
                        ],
                        [
                            'attribute' => 'number',
                            'header' => 'Количество товара',
                        ],                        
                        [
                            'attribute' => 'position.price',
                            'header' => 'Цена',
                            'class' => NumberColumn::className(),
                        ],                        
                        [
                            'attribute' => 'amount',
                            'header' => 'Стоимость',
                            'content' => function($data) {
                                return $data->position->price * $data->number;
                            },
                            'filter' => false,
                            'class' => NumberColumn::className(),
                        ], 
                        [
                            'attribute' => 'position.sales_tax',
                            'header' => 'Ставка'."\n".'НДС',
                        ],  
                        [                            
                            'label' => 'Сумма'."\n".'НДС',
                            'content' => function($data) {
                                return $data->position->sales_tax *0.01* ????;
                            },
                            'filter' => false,
                            'class' => NumberColumn::className(),
                        ],             
                        [                            
                            'label' => 'Стоимость'."\n".'с НДС',
                            'content' => function($data) {
                                return $data->position->sales_tax *0.01* $data->position->price;
                            },
                            'filter' => false,
                            'class' => NumberColumn::className(),
                        ],                                                 
                ]);
            ?>
Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Re: GridView::widget сумма столбцов(атрибутов)

Сообщение futbolim »

вместо content -> value и в $data будет текущая модель
Maksim86
Сообщения: 16
Зарегистрирован: 2019.05.02, 10:15

Re: GridView::widget сумма столбцов(атрибутов)

Сообщение Maksim86 »

Спасибо за ответ
Ответить