我有许多记录,其中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
我希望所有的特色与价值真正的第一,然后FALS E,但是订单的记录withing真假组应该是随机的
所以我的代码将
User.order("featured DESC, rand()")
和O生成/ p是(注: - 的组真实的记录顺序/假可以改变)
id featured
4 true
6 true
1 true
5 false
3 false
2 false
我想你可能会先由兰德()排序列表随机化列表,然后按特色属性排序。 –