簡體   English   中英

Doctrine_Query使用浮點值更新

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM