[英]Doctrine_Query update with float value
我需要增加用戶的余額,所以我這樣做:
Doctrine_Query::create()->from('User')->update('balance', 'balance + 0.15')->execute();
而且我收到一個錯誤“未知組件別名0”。 我認為這是因為0 .15所以我如何在不使用其他SELECT查詢用戶表的情況下更新(使用DQL)余額來獲取用戶余額,計算新余額並執行Doctrine_Query::create()->from('User')->update('balance', '?', $new_balance)->execute();
該解決方案適用於MySQL !!!
Doctrine_Query::create()->update('Users')->set('balance', 'balance + "0.15"')->execute();
您的假設看起來正確。 主義認為0
是表別名。 您是否嘗試過使用set()
?
從文檔:
$q = Doctrine_Query::create()
->update('Account')
->set('amount', 'amount + 200')
->where('id > 200');
// If you just want to set the amount to a value
$q->set('amount', '?', 500);
echo $q->getSqlQuery();
// UPDATE account
// SET amount = amount + 200
// WHERE id > 200
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.