Условная инструкция IF в инструкции PHP Doctrine 1.2 SET - PullRequest
3 голосов
/ 21 июля 2011

Я хотел бы найти правильный синтаксис для строки SET:

Doctrine_Query::create()
->update('Media m')
->set('m.fallback IF(m.id = ?, 1, 0)', $id)  <-- not correct
->execute();

Спасибо за любую помощь!

1 Ответ

0 голосов
/ 16 августа 2011

Я думаю, что это можно сделать двумя запросами:

Doctrine_Query::create()
    ->update('Media m')
    ->set('m.fallback', 1)
    ->where('m.id = ?', $id)
    ->execute();

Doctrine_Query::create()
    ->update('Media m')
    ->set('m.fallback', 0)
    ->where('m.id != ?', $id)
    ->execute();

Я не знаю, подходит ли вам это, но, по крайней мере, это будет делать то, что вы хотите.Может не работать из коробки , так как у меня нет Doctrine 1.2 под рукой, поэтому я не могу проверить это.Но я думаю, что идея ясна:)

...