В запросе select есть условие
...
->andWhere(['in', 'product.id' , [2,21,3,64,38,35]])
->all();
Какой должен быть ->orderBy(), чтобы записи возвращались именно в порядке 2,21,3,64,38,35
Если orderBy не задать, то сортируется по id ASC.
--------
UPD: меня подвело отсутствие Expression, так работает:
->orderBy([new \yii\db\Expression('FIELD (id, 2,21,3,64,38,35)')])