yii2将model连接为dataProvider

时间:2015-06-18 06:57:36

标签: yii2

我已经加入了2个表,如下所示:      $model = SalesEntry::find() ->joinWith('salesItems') ->all();

然后在视图中使用DataProvider如下:      GridView::widget([ 'dataProvider' => $model, 'columns' => [ 'date', // sample field from first table to see if ok ], ]);

我有以下错误:

  

在非对象

上调用成员函数getCount()

我在这里做错了什么?

2 个答案:

答案 0 :(得分:3)

这是因为ActiveQuery实例不是小部件所期望的DataProvider。您需要将其包装在ActiveDataProvider中才能使其正常工作:

GridView::widget([
   'dataProvider' => new \yii\data\ActiveDataProvider(['query' => $model]),
   ' columns' => [
      'date', // sample field from first table to see if ok
   ],
]);

答案 1 :(得分:0)

GridView中的DataProvider应该是yii\data\DataProviderInterface

的实例

请参阅docs