0
我想獲取transfer = something的最後5條記錄。目前我使用的是:Model.limit(5).order('id desc')
,但顯示的是Call.all
的最後5個。如何通過添加where子句或指定特定值作爲查詢的一部分來表達這一點?Rails Activerecord最近5條記錄根據字段值
我想獲取transfer = something的最後5條記錄。目前我使用的是:Model.limit(5).order('id desc')
,但顯示的是Call.all
的最後5個。如何通過添加where子句或指定特定值作爲查詢的一部分來表達這一點?Rails Activerecord最近5條記錄根據字段值
只需
Model.where(:transfer => 'something').order('id desc').limit(5)
但它可能會更有意義的created_at
或updated_at
,而不是id
訂購。
這很有道理。我使用Devise和關聯來表示current_user具有這些基於與facility_id匹配的transfer_from_id的通話記錄。我如何使用上面的代碼來說明transfer_from_id =:id和id是傳入的內容?對不起,如果我不正確的話,我有點新。 – nulltek
我可以這樣做:@ last5 = Call.where(:transfer_from_id =>'1')。order('id desc')。limit(5)但transfer_from_id'1'與User.rb中的facility_id 1匹配,所以我可以關聯正常。如果用戶的設施ID爲2,該怎麼辦?我怎樣才能使用你的代碼? – nulltek
'facility_id'與'transfer_from_id'有什麼關係?沒有關於你的問題。只需將「where」呼叫的參數替換爲您所需的條件即可。給定一個變量'id','where(:transfer => id)'。 –