gpt4 book ai didi

ruby-on-rails - 在 rails 中按两列版本号查询

转载 作者:太空宇宙 更新时间:2023-11-03 18:13:05 25 4
gpt4 key购买 nike

我有两个名为 major 和 minor 的列,我正在尝试做更多和更少的查询。它们代表版本。所以对于 2.1 版,2 在主列中,1 在次列中。我怎样才能做这些查询?我想避免创建新列。

问题是如果我查询 Model.where('major > ? and minor > ?', 3, 4),我不会得到 4.1 或 5.2,因为 minor 小于 4 .

我使用的是 rails 3.2 和 ruby​​ 1.9。此外,版本不会比 number.number(例如 2.9 或 4.3)复杂多少,所以让我们假设它们都是那种风格。

最佳答案

我认为正确的 SQL 查询如下:

major > :major -- check for bigger major
OR (major = :major AND minor > :minor) -- check within the same major

您可以通过 placeholder conditions, 在 ActiveRecord 中使用它尽管您可能应该删除注释(-- 之后的行部分)。

例子:

MyProductWithVersion.where('major > :major OR (major = :major AND minor > :minor)',
major: 2, minor: 1)

关于ruby-on-rails - 在 rails 中按两列版本号查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30530956/

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