0
我想訂購帖子。我想先隨機地訂購帖子,然後這些隨機帖子應該由沒有upvotes的訂單來訂購。多訂單語句欄
我已經試過:
@posts= @posts.order("RANDOM(), upvotes DESC").limit(10)
但這不起作用。請幫忙。 謝謝!
我想訂購帖子。我想先隨機地訂購帖子,然後這些隨機帖子應該由沒有upvotes的訂單來訂購。多訂單語句欄
我已經試過:
@posts= @posts.order("RANDOM(), upvotes DESC").limit(10)
但這不起作用。請幫忙。 謝謝!
回答我的問題:
@[email protected]("RANDOM()").limit(10).sort_by{|p| p.upvotes}.reverse!
嗯,我會做的方式是這樣的:
Post.select("#{Post.table_name}.*, random() AS rsort").order("rsort, upvotes DESC").limit(10)
這基本上只是說,在職位表中選擇所有列,以及一個名爲度假村列(這是之間的隨機數0和1)。然後通過rsort列和upvotes列進行排序。此外,您應該可以在之後訪問模型實例上的rsort屬性。
P.S.可能應該拿出比rsort更好的列名。
我想概念,你想要什麼其實是訂購最多選票,然後隨機......否則upvotes幾乎從來不管。另外,你爲什麼需要隨機訂購?如果在帖子中有足夠數量的點贊,那麼隨機部分應該一次只限於幾個帖子,而且很少有關係? – user3334690 2014-10-07 20:45:37
是的,這就是我想要的。請讓我知道你是否有答案。 – user3477051 2014-10-07 20:48:20