我已经加入了2个表,如下所示:
$model = SalesEntry::find()
->joinWith('salesItems')
->all();
然后在视图中使用DataProvider如下:
GridView::widget([
'dataProvider' => $model,
'columns' => [
'date', // sample field from first table to see if ok
],
]);
我有以下错误:
在非对象
上调用成员函数getCount()
我在这里做错了什么?
答案 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。