我有很多带有featured?
属性的记录。
我想查询所有,将它们分组为特色和非特色,如果可能的话,将它们随机分布在它们的组之间(随机并显示特色,然后随机其余部分)。
知道如何在 ActiveRecord 上执行此操作吗?
我有很多带有featured?
属性的记录。
我想查询所有,将它们分组为特色和非特色,如果可能的话,将它们随机分布在它们的组之间(随机并显示特色,然后随机其余部分)。
知道如何在 ActiveRecord 上执行此操作吗?
利用rand()
MySQL
SELECT * FROM <TABLE_NAME> ORDER BY featured?, rand()
导轨 3
ModelName.order("featured, rand()")
例如:-
id featured
1 true
2 false
3 false
4 true
5 false
6 true
我希望所有的特征都先是真然后是假,但是真假组的记录顺序应该是随机的
所以我的代码将是
User.order("featured DESC, rand()")
并且生成的 o/p 是(注意:- 组真/假之间的记录顺序可以更改)
id featured
4 true
6 true
1 true
5 false
3 false
2 false