там наверное описка, работает $params=['sort'=>'price.value'+0]
Кстати, только сейчас обратил внимание. Нет, так не правильно. Правильно именно $params=['sort'=>'price.value +0']
А вообще, если кому-то не нравится хак с +0 (что вполне нормально), можно так пробовать:
$q->sortby("CAST(price.value as unsigned)");