yii2 连接模型作为数据提供者



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

然后在视图中使用的数据提供程序,如下所示: GridView::widget([ 'dataProvider' => $model, 'columns' => [ 'date', // sample field from first table to see if ok ], ]);

我有以下错误:

在非对象上调用成员函数 getCount()

我在这里做错了什么?

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

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

GridView 中的 DataProvider 应该是 yiidataDataProviderInterface 的实例

请参阅文档。

最新更新