2
> player.records
Record Load (0.5ms) SELECT * FROM `records` WHERE (`records`.player_id = 1)
> player.records.first(:conditions => {:metric_id => "IS NOT NULL"})
Record Load (0.5ms) SELECT * FROM `records` WHERE (`records`.player_id = 1 AND (`records`.`metric_id` = 'IS NOT NULL')) LIMIT 1
有沒有辦法讓第二個查詢不命中數據庫,但使用緩存呢?當數據已經在內存中時,再次敲擊數據庫似乎有點過分。在這種情況下可以導軌緩存嗎?
我需要兩個結果。我知道Ruby可以遍歷這些值,但我希望儘可能通過ActiveRecord執行此操作。我來自Django的背景,filter()
做得很好。
我正在使用Rails 2.3。
我可以用Ruby代碼過濾數組,但我寧願不必。我來自一個Django背景,filter()這樣做很好。 – babonk
嚴重的是,有什麼問題'player.records.select {| x | x.metric_id!= nil} [0]'?它對你來說工作得很好,它不會與數據庫有額外的溝通。 – YuriAlbuquerque