Про инкремент в UPDATE запросе Doctrine ORM

// Сентябрь 10th, 2010 // Doctrine, PHP, Веб-разработка

Сегодня обнаружил с коллегой особенность при создании DQL-запроса.

Оказывается конструкции вида

$q = Doctrine_Query::create()
    ->update('Account')
    ->set('amount', 'amount+200')
    ->where('id > 200');

не срабатывали. А дело было как всегда в мелочи. В двух пробелах слева и справа от знака операции (+).
Исправили на вариант, полностью аналогичный мануалу:

$q = Doctrine_Query::create()
    ->update('Account')
    ->set('amount', 'amount + 200')
    ->where('id > 200');

и все чудесным образом заработало.
Мораль: Если DQL глючит, всегда первым делом смотрите какой SQL-запрос он порождает!

Share

Спасибо!


Если вам помогла статья, или вы хотите поддержать мои исследования и блог - вот лучший способ сделать это:


2 Responses to “Про инкремент в UPDATE запросе Doctrine ORM”

  1. Merl1n:

    Спасибо, что разобрался. Но какого ….. оно так работает!

Комментировать