Rails 优先洗牌
Rails shuffle with priority
我有一个模型,其中包含一些具有自己优先级的记录。
- 记录 => 优先级:1
- 记录 => 优先级:2
- 记录 => 优先级:3
- 记录 => 优先级:3
- 记录 => 优先级:2
- 记录 => 优先级:1
- 记录 => 优先级:1
- 记录 => 优先级:4
现在我需要一个基于优先级的随机记录。
优先级 1 是最差的。
优先级 4 最好。
现在我只得到一个随机记录 @records.all.shuffle
将其与优先级结合起来的最佳方式是什么?
也许您需要这样的东西:
max_priority = Record.maximum(:priority)
Record.where(priority: max_priority).all.shuffle
Postgresql 方式:
Record.order('priority DESC, RANDOM()').first
我有一个模型,其中包含一些具有自己优先级的记录。
- 记录 => 优先级:1
- 记录 => 优先级:2
- 记录 => 优先级:3
- 记录 => 优先级:3
- 记录 => 优先级:2
- 记录 => 优先级:1
- 记录 => 优先级:1
- 记录 => 优先级:4
现在我需要一个基于优先级的随机记录。 优先级 1 是最差的。 优先级 4 最好。
现在我只得到一个随机记录 @records.all.shuffle
将其与优先级结合起来的最佳方式是什么?
也许您需要这样的东西:
max_priority = Record.maximum(:priority)
Record.where(priority: max_priority).all.shuffle
Postgresql 方式:
Record.order('priority DESC, RANDOM()').first