我想爲udtraekkesinfo不等於NULL或NIL的所有記錄設置udtraekkes(datetime)爲NULL。我的模型名稱是Konkurrencer。Rails如何更新所有記錄的列爲零的記錄?
如何更新軌道控制檯中的konkurrencers記錄?
我想爲udtraekkesinfo不等於NULL或NIL的所有記錄設置udtraekkes(datetime)爲NULL。我的模型名稱是Konkurrencer。Rails如何更新所有記錄的列爲零的記錄?
如何更新軌道控制檯中的konkurrencers記錄?
我想你需要update_all
方法。 Documentation
Konkurrencer.update_all({udtraekkes: nil}, "udtraekkesinfo IS NOT NULL")
只需將您的quiry設置爲udtraekkes NULL的所有記錄:( – 2012-03-24 22:40:49
問題是,它也更新了它是空的地方:( – 2012-03-24 22:54:17
在Rails 4.0.13, 我這個語法測試,可能會在軌道3
Model.where(conditions).update_all(:column_name=> nil)
where conditions are filtered condition to fetch the each record and update_all will operate on those record, you can update one or more column based on your requirement.
滿足您需求的代碼會爲你做同樣的。
Konkurrencer.where(:udtraekkes=> nil).update_all(:udtraekkes=> nil)
我曾嘗試:Konkurrencer.update_all( 「udtraekkes = NULL」,:udtraekkesinfo => NOT_EQ(無)) NoMethodError:用於主未定義的方法'NOT_EQ」:對象 – 2012-03-24 22:30:08
Konkurrencer.update_all(「udtraekkes = NULL 「,」udtraekkesinfo <> 0「) - 試試這個 – railscard 2012-03-24 22:48:48
它應該是udtraekkes不等於零的地方,因爲所有的記錄都不是NULL。 – 2012-03-24 23:47:01