/** * @return GoodsQuery */ public function getActiveQueryFilterGoods() { /** * @var GoodsQuery $query */ $query = Goods::find()->alias('gds'); if ($this->sex) { $query->andFilterWhere(['gds.sex_id' => $this->sex]); } if ($this->type) { $query->andFilterWhere(['gds.type_id' => $this->type]); } if ($this->color) { $query->andFilterWhere(['gds.color_id' => $this->color]); } if ($this->size) { $query->rightJoin(SizeGoodsRelation::tableName() . ' `sgr`', 'sgr.goods_id=gds.id'); $query->andFilterWhere(['sgr.size_id' => $this->size]); } return $query; }
public function afterDelete() { SizeGoodsRelation::deleteAll(['goods_id' => $this->id]); parent::afterDelete(); }