Код: Выделить всё
$goods = Goods::find()
->andFilterWhere(['good_id' => $this->good_id])
->andFilterWhere(['like', 'good_name', explode(' ', $this->goodName)])
->andFilterWhere(['good_sell_price' => $this->sell_price])
->andFilterWhere(['good_buy_price' => $this->buy_price])
->andFilterWhere(['archive' => 0])
->orWhere(['good_id'=>$ids])
->all();
Нужно для поиска в гриде. По факту должен получиться примерно такой запрос:
Код: Выделить всё
SELECT *, if(good_id in (1,2,3),1,0) as sort FROM `goods` WHERE ((`good_name` LIKE '%test%') AND (`archive`=0)) OR (`good_id` IN (2, 11)) ORDER by sort DESC