Если изменения на одинаковое число, то просто стоит использовать whereIn, если на разное, то стоит так и оставить. В sql такое делается через конструкции вроде
SET field = CASE WHEN id = 1 THEN 3 WHEN id = 2 THEN 10
Изменение на разное число, поэтому и мучаюсь... так бы проблем не было. Там вообще несколько подобных заданий подряд, вчера пробовал обновить данных способом 100 строк, в итоге скрипт выполнялся 0.4с. Меня успокаивает только то, то скрипт этот будет выполняться всего пару раз за сутки cron-ом, может и так оставлю, но если честно с головы не выходит....