Symfony affected_rows transaction

249
04 июля 2017, 23:43

I have entity Users, example

  id, name, balance
   1, Mike, 100
   2, Alex, 20

I want to send 20 euro from Alex to Mike

$em = $this->getDoctrine()->getManager();
$mike = $em->getRepository('MyBundle:User')->find(1);
$alex = $em->getRepository('MyBundle:User')->find(2);
for($i=0;$i<2;$i++)
{
 sleep(1);
 try {
    $em->getConnection()->beginTransaction();
    $em->refresh($mike);
    $em->refresh($alex);
    $mike->setBalance($mike->getBalance() + 20);
    $alex->setBalance($alex->getBalance() - 20);
    $em->flush();
    $em->getConnection()->commit();
   } catch (\Exception $exception) {
        $em->getConnection()->rollBack(); 
   }
}

I need to be flush, only the first operation, but both work, because Alex is already with empty balance, but both operations work. Please help to understand how to solve this. Thanks!

READ ALSO
Пробелы и табуляция

Пробелы и табуляция

Здравствуйте! Хочу защитить форму ввода от невидимых символов на стороне сервера средствами PHP(пробел, табуляция)Т

220
Собрать значения или имена в массив PHP

Собрать значения или имена в массив PHP

Здравствуйте дорогие знатоки PHP, подскажите, столкнулся с такой проблемой, есть форма отправки данных, у неё скрытые input, этим скрытым inpit'aм...

170
Получить данные из поля формы, и передать в файл обработчик

Получить данные из поля формы, и передать в файл обработчик

Здравствуйте, Есть поле для загрузки файлов, нужно при помощи JavaScript взять файл из поля ,и передать в файл обработчик php Поле

202