2

次のようなコードがあります。

hh = History.select("STRFTIME(\"%Y-%m-%d %H\", created_at) AS created_at, ..., count(*) AS count_all")
puts hh[0].created_at

が設定されていない場合config.active_record.default_timezone、そのコードは正しく機能しますhh[0].created_at = nil

なんで?

どうすれば修正できますか?

4

1 に答える 1

0

コンソールでこれを実行してみてください:

History.select("STRFTIME(\"%Y-%m-%d %H\", created_at) AS created_at, ..., count(*) AS count_all").to_sql

これにより、Sqlite3 に送信される出力が表示され、期待される SQL アイテムと照合して確認できます。あなたの場合、selectPostgres SQLフレーバーには有効ですが、Sqlite3には有効ではありません

于 2012-12-22T05:09:08.647 に答える