gpt4 book ai didi

ruby-on-rails - 具有特定数据的排序模型

转载 作者:太空宇宙 更新时间:2023-11-03 17:53:26 26 4
gpt4 key购买 nike

我想根据特定顺序对我的模型数据进行排序。

Model: Grade
Table Column: category, value
values of category: Prelim, Midterm, Semi-finals, Finals

如何根据类别值“Prelim, Midterm, Semi-Finals, Finals”对表格 Grade 进行排序?

最佳答案

如果您不想按照@titibouboul 的建议用表中的数字替换它们。你可以这样做。

class Grade
CATEGORY_IN_ORDER = ["Prelim", "Midterm", "Semi-Finals", "Finals"]
scope :ordered_by_category, lambda {"order(FIELD(category,#{CATEGORY_IN_ORDER.join(',')}))"}
end

然后你可以在任何地方使用这个范围:

 Grade.ordered_by_category.where(YOUR_CRITERIA)

如果你不想定义作用域:

Grade.where(YOUR_CRITERIA).order("FIELD(category,#{CATEGORY_IN_ORDER.join(',')})")     

更多关于 order by FIELD 语法的信息: http://www.electrictoolbox.com/mysql-order-specific-field-values/

关于ruby-on-rails - 具有特定数据的排序模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19485428/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com