Symfony - обновить несколько записей

Как лучше всего обновить несколько записей в базе данных с помощью doctrine, symfony2?

Я получаю массив идентификаторов записей, которые мне нужно обновить.
Я хочу присвоить каждой записи ее индекс из полученного массива столбцу show_order. Итак, если я получаю array $ array = array (22, 1, 5, 10), тогда я хочу сделать

 $i = 0;
 foreach($array as $a) {
    $record = $this->getDoctrine->getRepository('AcmeBundle:SomeEntity')->findOneById($a);
    if ($record != null) $record->setOrder($i++);
 }
 $this->getDoctrine()->getEntityManager()->flush();

, но это ужасный способ, потому что для каждой записи я делаю один SELECT, поэтому количество запросов равно O (n).

Как это сделать лучше?

9
задан Wojciech Kulik 6 January 2012 в 22:21
поделиться