yii2仅显示关系计数大于0的项目

时间:2017-09-20 22:02:48

标签: sql yii2

所以我在我的Brands模型中有以下关系,现在我想在我的BrandsSearch模型中做的是计算连接表(BrandsReviews)中的记录数,然后如果它是< = 0或null那么过滤掉/不在数据集中返回。

public function getBrandsReviews()
{
    return $this->hasMany(BrandsReviews::className(), ['brands_id' => 'id']);
}

类似的东西(但是它表示组功能的使用无效):

->andFilterWhere(['>', 'count(brands.brandsReviews)', 0]);

1 个答案:

答案 0 :(得分:1)

如果要将聚合函数过滤为count()或sum() 你可以使用andFilterHaving()

  ->andFilterHaving(['>', 'count(brands.brandsReviews)', 0]);

http://www.yiiframework.com/doc-2.0/yii-db-query.html#andFilterHaving()-detail