Join Kartik和x27中显示的数据不一致;s GridView和行数-Yii2

Join Kartik和x27中显示的数据不一致;s GridView和行数-Yii2,join,gridview,yii2,relation,Join,Gridview,Yii2,Relation,在我的GridView中,返回的行数与右上角显示的不一样。在角落中,网格统计7450行,但实际上它返回4351行。以下是错误行为的示例:在示例中,Gridview渲染1行(正确),但角落中的摘要显示“显示4个项目中的1-1项)通过阅读以下文章,我可能已经找到了导致错误的原因:。此错误还导致分页被破坏。不幸的是,该解决方案没有解决我的问题。或者我错过了什么。 我的案例 我需要在Gridview中显示关系数据,因此我在我的AuthorsProjectPpi模型中创建了此关系: public func

在我的GridView中,返回的行数与右上角显示的不一样。在角落中,网格统计7450行,但实际上它返回4351行。

以下是错误行为的示例:在示例中,Gridview渲染1行(正确),但角落中的摘要显示“显示4个项目中的1-1项)

通过阅读以下文章,我可能已经找到了导致错误的原因:。此错误还导致分页被破坏。
不幸的是,该解决方案没有解决我的问题。或者我错过了什么。

我的案例
我需要在Gridview中显示关系数据,因此我在我的AuthorsProjectPpi模型中创建了此关系:

public function getInstitutionName(){
    return $this->hasOne(AuthorsInstitution::className(), ['md_institution_tokens'=>'ppi_organization']);
}
问题出现在AuthorsProjectPpiSearch模型的搜索功能中:

public function search($params)
{
    $query = AuthorsProjectPpi::find();
    $query->joinWith('institutionName');
    ...
}
该联接产生7450行(因此Gridview右上角的行数为7450),但Gridview仅实例化4351行(这是我想要的数字)。
如果我评论加入:

public function search($params)
{
    $query = AuthorsProjectPpi::find();
    //$query->joinWith('institutionName');
    ...
}
在右上角显示了正确的数字(4351),关系的列也正确显示,但我无法按该列筛选结果。


我真的无法解决这个问题
如果有帮助的话,我正在使用Kartik的Gridview。

已解决。
我只是忘了在查询中添加GroupBy

public function search($params)
{
    $query = AuthorsProjectPpi::find();
    $query->joinWith('institutionName')->groupBy('id');
    ...
}
这完全解决了问题