Сделайте 2 запроса, думаю будет проще, первый можно даже на чистом sql.
Пример первого:
'select product_id, sum(qty) as qty from orders_products
order by qty desc limit 10'
ps - не прочитал, что у вас postgresql, но идея та же.
дальше делаете маппинг массива и запрашиваете уже следующим запросом:
А второй запрос:
$modes = Products::find()->andWhere(['id'=>$product_id])->all();
Вариант одного запроса:
$models = Products::find()->select('*, sum(orders_products.qty) as qqty')
->innerJoin('orders_products', 'products.id=orders_products')
->orderBy('qqty desc')
->limit(10);