如何直接从 Yii2 中的视图上接收来自 dataProvider 和 SqlDataProvider 的数据



我在视图上有以下代码,但是当我从 GridView::widget 调用$dataProvider时,我收到了 null。查询可以直接在数据库上正常工作。可能出了什么问题?谢谢。

//SQL Statement
   $dataProvider = new SqlDataProvider([
        'sql' => 'SELECT a.att1,
                         b.att2,
                         a.att3
                           FROM table1 a,
                                table2 b 
                                WHERE b.id = a.user_id
                                 ORDER BY a.att3 ASC',
                    ]);
//GridView
<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'columns' => [
        'Att1',
        'Att2',
        'Att3',
    ],
]); 

您应该对 sql 和网格视图列使用相同的名称

$dataProvider = new SqlDataProvider([
    'sql' => 'SELECT a.att1 Att1,
                     b.att2 Att2,
                     a.att3 Att3
                       FROM table1 a,
                            table2 b 
                            WHERE b.id = a.user_id
                             ORDER BY a.att3 ASC',
                ]);

最新更新