0

Railsアプリケーションにテーブルがあり、各列のタイプはStringです。この列はmycolumnと呼ばれ、各エントリがNN:NNの形式に適合するようにフォーマットされています。ここで、Nは0〜9の数字です。

ここで問題が発生しているのは、mycolumn [0..1]が特定の範囲(たとえば35)にあるようなすべての要素を見つける必要があることです。

ステートメントは次のようになると思います

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

これは機能しますか?これを行う別の方法はありますか?

4

1 に答える 1

1

いいえ、それはそのようには機能しません---次のいずれかを行う必要があります。

  1. 選択したデータベースで機能するSQLステートメントをフォーマットします
  2. カスタムクエリが可能なテーブルのデータ型を使用します(NNとNNの両方を別々の列に格納するなど)
  3. すべてのモデルを取得し、Rubyで条件を選択します

#2をお勧めします---コアデータを保存してから、それをNN:NNにフォーマットするメソッドを追加します

于 2012-07-23T18:16:02.907 に答える