Ruby on rails 如何首先按现有布尔属性对结果排序
我有许多带有Ruby on rails 如何首先按现有布尔属性对结果排序,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我有许多带有特色?属性的记录 我想查询所有人,将他们分为特色和非特色,如果可能的话,将他们随机分为两组(随机并显示特色,然后随机分配其余部分) 知道如何在ActiveRecord上执行此操作吗 使用 MySQL 例如:- id featured 1 true 2 false 3 false 4 true 5 false 6 true 我希望所有的特征值先为true,然后为false,但包含true和false组的记录顺序应该是随
特色?
属性的记录
我想查询所有人,将他们分为特色和非特色,如果可能的话,将他们随机分为两组(随机并显示特色,然后随机分配其余部分)
知道如何在ActiveRecord上执行此操作吗 使用
MySQL
例如:-
id featured
1 true
2 false
3 false
4 true
5 false
6 true
我希望所有的特征值先为true,然后为false,但包含true和false组的记录顺序应该是随机的
所以我的代码是
User.order("featured DESC, rand()")
生成的o/p为(注意:-组真/假之间的记录顺序可以更改)
使用
MySQL
例如:-
id featured
1 true
2 false
3 false
4 true
5 false
6 true
我希望所有的特征值先为true,然后为false,但包含true和false组的记录顺序应该是随机的
所以我的代码是
User.order("featured DESC, rand()")
生成的o/p为(注意:-组真/假之间的记录顺序可以更改)
我认为您可能可以先按Rand()对列表进行排序,然后按特征属性对列表进行排序。我认为您可以先按Rand()对列表进行排序,然后按特征属性对列表进行排序。我看不出您的示例
顺序(“特征?,Rand()”)
是如何工作的。你能详细说明一下吗?请检查我编辑的答案,也不要使用以结尾的列。
ref:-User.order(“featured,rand()”)
不会首先返回trues,然后返回fatest。实际上
User.order(“featured,rand()”)。first`返回带有featured的对象?false
。在这种情况下,使用DESC
User.order(“精选DESC,rand()”)
仍不适用于我Dvd.order(“特色描述,随机()”)。首先,
返回一个带有Characterized:false
的对象。我看不出示例order(“特色描述,随机()”)
如何工作。你能详细说明一下吗?请检查我编辑的答案,也不要使用以结尾的列。
ref:-User.order(“featured,rand()”)
不会首先返回trues,然后返回fatest。实际上
User.order(“featured,rand()”)。first`返回带有featured的对象?false
。在这种情况下,使用DESC
User.order(“精选DESC,rand()”)
仍不适用于我Dvd.order(“特色描述,随机()”)。首先
返回一个带有Characterized:false
的对象。
id featured
4 true
6 true
1 true
5 false
3 false
2 false