2013-07-11 45 views
1

如何使用單個查詢中的其他字段更新字段?使用Active Record進行更新

SQL:

"UPDATE table_name SET field1=fields2 + 1 where id=123" 

嘗試了這些東西,但沒有奏效

Model.update(123, :field => "field2 + 1") 
Model.update(123, :field => :field2 + 1) 
Model.update(123, "field = field2 + 1") 

不想做它在2查詢。

+0

嘗試Model.update(123字段1:「#{場2 + 1}」),並確保你有你的模型訪問屬性 – BuDen

+0

@BuDen這不起作用。 –

回答

1
Model.update_all("field = field2 + 1", {:id => 123}) 

第二個參數是條件,在其上更新應該發生

+0

給「NoMethodError:未定義的方法'+'爲:field2:符號」 –

+0

我已更新查詢。請檢查 – Santhosh

+0

工作。謝謝。 –