2017-06-20 8 views
0

私はビューで次のコードを持っていますが、GridView :: widgetから$ dataProviderを呼び出したときにnullが返されました。クエリはデータベース上で直接実行されます。何が間違っていますか?ありがとう。Yii2のビューで直接dataProviderとSqlDataProviderからデータを受け取る方法は?

//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', 
    ], 
]); 

答えて

0

は、あなたはそれが働いた

$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', 
       ]); 
+0

SQLとGridViewの列に同じ名前を使用する必要があります。どうもありがとうございました! –

関連する問題