.find()语句中的条件和变量

时间:2012-07-23 18:08:24

标签: ruby-on-rails ruby activerecord

我在Rails应用程序中有一个表,其中每列都是String类型。该列将调用mycolumn,其格式为每个条目符合格式NN:NN,其中N是0-9的某个数字。

现在我遇到麻烦的是我需要找到mycolumn [0..1]在某个范围内的所有元素(简单地说就是35)。

我认为该陈述看起来像

Mytable.find(:all, :conditions => ['? <= 35', :mycolumn[0..1].to_i])

这会有用吗?还有另一种方法吗?

1 个答案:

答案 0 :(得分:1)

不,那不会那样 - 你将不得不:

  1. 格式化与您选择的数据库一起使用的SQL语句
  2. 在表格中使用可以自定义查询的数据类型(例如将NN和NN存储在不同的列中)
  3. 检索所有模型并在Ruby中执行选择条件
  4. 我建议#2 ---存储核心数据,然后添加一个方法将其格式化为NN:NN