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
最初に値が true で、次に false のすべての機能が必要ですが、true と false のグループ内のレコードの順序はランダムにする必要があります
だから私のコードは
User.order("featured DESC, rand()")
および生成された o/p は (注:- グループ true/false 間のレコードの順序は変更できます)
id featured
4 true
6 true
1 true
5 false
3 false
2 false