ugrás a tartalomhoz

Doctrine több oszlopos UPDATE

kalamona · 2008. Szep. 30. (K), 15.03
Hogyan tudok egy lekérdezésben több oszlopot updatelni?
Manual szerint egy oszlop frissítése így zajlik:

rows = $q->update('Account')
         ->set('amount', 'amount + ?', '200')
         ->where('id > 200') 
         ->execute(); 
ez nem jó:

rows = $q->update('Account')
         ->set('amount', 'amount + ?', '200')
         ->set('amount2', 'amount2 + ?', '500')
         ->where('id > 200') 
         ->execute(); 
ez sem:

rows = $q->update('Account')
         ->set('amount', 'amount + ?', '200','amount2', 'amount2 + ?', '500')
         ->where('id > 200') 
         ->execute(); 
Vagy ez nem támogatott? :)
 
1

És ez?

vbence · 2008. Szep. 30. (K), 16.31
Tekintve, hogy a DQL az SQL alapján készült én ezzel próbálkoznék:

$rows = $q->update('Account')  
    ->set('amount=amount+?, amount2=amount2+?', 200, 500)
    ->where('id > 200')   
    ->execute();   
mégpedig azért, mert valami azt súgja, hogy ez is helyes:

$rows = $q->update('Account SET amount=amount+?, amount2=amount2+? WHERE id > 200', 200, 500)
    ->execute();   
Nem otthon vagyok, úgyhogy lehet, hogy hülyeséget írtam... tekintsük puszta ötletelésnek :)