私はRails 5とPostgreSQL 9.5を使用しています。私は次の列のテーブルを持っています。24時間以上離れたエンティティを検出するRails finderメソッド?
cindex=# \d crypto_index_values;
Table "public.crypto_index_values"
Column | Type | Modifiers
------------+-----------------------------+------------------------------------------------------------------
id | integer | not null default nextval('crypto_index_values_id_seq'::regclass)
value | double precision |
index_date | timestamp without time zone | not null
created_at | timestamp without time zone | not null
updated_at | timestamp without time zone | not null
時点を考えると、私は返す単一Railsのエントリを返しRailsのファインダクエリを作成する方法を変数「my_date」、に保存されている(「2017年7月29日11時10」と言います) "my_date"から少なくとも24時間離れた最小の "index_date"を持つ行?私は、この表のデータ
14 | 133.951211424387 | 2017-07-31 19:10:03.235566 | 2017-07-29 19:10:03.267727 | 2017-07-31 19:10:03.267727
15 | 133.951211424387 | 2017-07-31 19:20:03.59569 | 2017-07-28 19:20:03.629418 | 2017-07-31 19:20:03.629418
16 | 139.104155235946 | 2017-07-31 19:30:08.037045 | 2017-07-31 19:30:08.04715 | 2017-07-31 19:30:08.04715
を持っていたし、私の例を与えられたのであれば、私は、クエリはidを持つ行を返すことを期待する「15」行なぜならidを持つ「14」の24時間離れて私の例からではありません。通常、クエリのこの種は
CryptoIndexValue.where('index_date = ?', my_date - 1)
を働くだろうが、正確に24時間離れていないエントリがあるので、それはしていません。
いいえ、私の例は悪くはありません。私は質問を編集して "7-30"を "7-28"に置き換えました。 – Dave