Как отобразить данные массива в Yii2 GridView с помощью ActiveDataprovider - PullRequest
0 голосов
/ 23 февраля 2019

У меня есть массив данных, очень похожих на этот

$array = [
  'FUNDSCTR' => '10000001' 
  'RCMMTITEM' => 'R400001'
  'YEAR' => '2018'
  'CONSUMA' => 5898257
  'CONSUME' => 30140
  'AVAIL' => 5868117 ]

, и я использую его в ArrayDataProvider

 $dataProvider = new ArrayDataProvider(['allModels' => $array,]);

код в gridview

 <?= GridView::widget([
         'dataProvider' => $dataProvider,
         'columns' => [
                      ['class' => 'kartik\grid\SerialColumn'],
                        [
                            'label' => 'Year',
                            'attribute'=>'YEAR',
                        ],
                        [
                            'label' => 'Fund',
                            'attribute'=>'FUNDSCTR',
                        ],
                         [
                            'label' => 'Item',
                            'attribute'=>'RCMMTITEM',
                        ],
                         [
                            'label' => 'Consumeable',
                            'attribute'=>'CONSUMA',
                        ],
                         [
                            'label' => 'Consumed',
                            'attribute'=>'CONSUME',
                        ],
                        [
                            'attribute'=>'Available',
                            'value'=> 'AVAIL',
                        ],
                    ]);
                ?>
      </div>

resluts enter image description here

print_r ($ dataProvider);~ $ массивы возвращают

yii\data\ArrayDataProvider Object ( [key] => [allModels] => Array ( [RFUNDSCTR] => 10000001 [RCMMTITEM] => R400013 [RYEAR] => 2018 [CONSUMA] => 5898257 [CONSUME] => 30140 [AVAIL] => 5868117 )

Мне нужно показать в данных gridView, как это.

enter image description here

1 Ответ

0 голосов
/ 23 февраля 2019

Для правильной работы массив, который вы передаете в ArrayDataProvider, должен быть двухмерным, например:

$array = [
    [
        'FUNDSCTR' => '10000001',
        'RCMMTITEM' => 'R400001',
        'YEAR' => '2018',
        'CONSUMA' => 5898257,
        'CONSUME' => 30140,
        'AVAIL' => 5868117,
    ],
    [
        'FUNDSCTR' => '10000001',
        'RCMMTITEM' => 'R400001',
        'YEAR' => '2018',
        'CONSUMA' => 5898257,
        'CONSUME' => 30140,
        'AVAIL' => 5868117,
    ],
    [
        'FUNDSCTR' => '10000001',
        'RCMMTITEM' => 'R400001',
        'YEAR' => '2018',
        'CONSUMA' => 5898257,
        'CONSUME' => 30140,
        'AVAIL' => 5868117,
    ]
];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...