2012-06-23 51 views
0

我想獲取transfer = something的最後5條記錄。目前我使用的是:Model.limit(5).order('id desc'),但顯示的是Call.all的最後5個。如何通過添加where子句或指定特定值作爲查詢的一部分來表達這一點?Rails Activerecord最近5條記錄根據字段值

回答

1

只需

Model.where(:transfer => 'something').order('id desc').limit(5) 

但它可能會更有意義的created_atupdated_at,而不是id訂購。

+0

這很有道理。我使用Devise和關聯來表示current_user具有這些基於與facility_id匹配的transfer_from_id的通話記錄。我如何使用上面的代碼來說明transfer_from_id =:id和id是傳入的內容?對不起,如果我不正確的話,我有點新。 – nulltek

+0

我可以這樣做:@ last5 = Call.where(:transfer_from_id =>'1')。order('id desc')。limit(5)但transfer_from_id'1'與User.rb中的facility_id 1匹配,所以我可以關聯正常。如果用戶的設施ID爲2,該怎麼辦?我怎樣才能使用你的代碼? – nulltek

+0

'facility_id'與'transfer_from_id'有什麼關係?沒有關於你的問題。只需將「where」呼叫的參數替換爲您所需的條件即可。給定一個變量'id','where(:transfer => id)'。 –

相關問題