![](/img/trans.png)
[英]Rails 3 Find all records from has_many :through without collision from previous has_many
[英]Get random records from a has_many field in rails 3
我有一個模特:
class HotelTheme < ActiveRecord::Base
has_many :hotels
end
我想隨機獲得6家酒店。
我試過了:
@hotelTheme.hotels.rand(6)
但是失敗了,有什么主意嗎?
謝謝
您可以使用以下語法:
@hotelTheme.hotels.order("RANDOM()").limit(6) #for MySQL RAND()
RANDOM()
是SQL的內置函數,在大表上運行緩慢。
還可以看看randumb gem 。
如果您不介意只需要六hotel
,便會退還所有hotel
的開銷,那么您可以
@hotelTheme.hotels.shuffle[0..5]
但是,如果您的hotel_theme
承載了hotel
的負載,那么這可能是個壞主意。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.