2017-09-20 3 views
1

BrandsSearchモデルでは、Brandsモデル内で次の関係があります。これは、Joinテーブル内のレコード数をカウントすることです(BrandsReviews) < = 0またはnullの場合は、それをフィルタリングし、データセット内に戻しません。あなたは(andFilterHavingを使用することができ yii2は、関連カウントが0より大きい項目のみを表示します

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

答えて

0

あなたはカウントとして集約された機能のためにフィルタリングしている場合()またはSUM())

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

のようなものを(しかし、それはグループ機能の無効な使用を言います)

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

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

関連する問題