load($params); if ( !$this->validate() ) { $query->where('0=1'); } $query->andFilterWhere([ 'name' => $this->name, 'brand' => $this->brand, ]); $query->andWhere(['or', 'box > 0', 'add_box > 0'])->orderBy( $sort ); $dataProvider = new ActiveDataProvider([ 'query' => $query, 'key' => 'name', ]); return $dataProvider; } public function searchCrosses( $params, $sort ) { $query = GoodsView::find()->innerJoin('w_details_crosses', '`w_details_crosses`.`ARTICLE` = `name` and `w_details_crosses`.`BRAND` = w_goods_view.`brand`')->select('w_goods_view.*, w_details_crosses.CROSS_BRAND as crosses' ); $this->load($params); if ( !$this->validate() ) { $query->where('0=1'); } $query->andFilterWhere([ 'w_details_crosses.CROSS_ARTICLE' => $this->name, 'w_details_crosses.CROSS_BRAND' => $this->brand, ]); $query->andWhere(['or', 'box > 0', 'add_box > 0'])->orderBy( $sort ); $dataProvider = new ActiveDataProvider([ 'query' => $query, 'key' => 'name', ]); return $dataProvider; } }