Про инкремент в UPDATE запросе Doctrine ORM
Сегодня обнаружил с коллегой особенность при создании DQL-запроса.
Оказывается конструкции вида
1 2 3 4 |
$q = Doctrine_Query::create() ->update('Account') ->set('amount', 'amount+200') ->where('id > 200'); |
не срабатывали. А дело было как всегда в мелочи. В двух пробелах слева и справа от знака операции (+).
Исправили на вариант, полностью аналогичный мануалу:
1 2 3 4 |
$q = Doctrine_Query::create() ->update('Account') ->set('amount', <strong>'amount + 200'</strong>) ->where('id > 200'); |
и все чудесным образом заработало.
Мораль: Если DQL глючит, всегда первым делом смотрите какой SQL-запрос он порождает!
Спасибо, что разобрался. Но какого ….. оно так работает!
Пожалуйста! Видимо особенности парсера Doctrine.