我想找到SET行的正确语法:
Doctrine_Query::create()
->update('Media m')
->set('m.fallback IF(m.id = ?, 1, 0)', $id) <-- not correct
->execute();
感谢您的帮助!
答案 0 :(得分:0)
我认为可以通过两个查询完成:
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,所以无法测试。但我认为这个想法很清楚:)