El controlador debe pasar la consulta a Postgresql en esta forma final:
update portfolios p
set votes = s.votes
from unnest(array[(5, 1), (15, 1), (25, 2)]) s (votes int, id int)
where p.id = s.id
Así que pase esta consulta al controlador:
update portfolios p
set votes = s.votes
from unnest($1) s (votes int, id int)
where p.id = s.id
con una matriz apropiada como parámetro.
Tenga en cuenta que si lo construye usted mismo en lugar de dejar que el controlador lo haga, será vulnerable a la inyección SQL.