2

DataMapper MySql db を備えた単純な Sinatra Web アプリを使用しています。プロパティを持つ DatamapperPostクラスを宣言しました

property :created_at, DateTime

(で初期化Time.now) で、過去 7 日間のすべての投稿の数を取得したいと考えています。私のクエリ

lastweek_posts = Post.count(:created_at.gte => 1.week.ago)
lastweek_posts = Post.count(:conditions => ["created_at >= ?", Time.now.utc - 1.week])

ただし、すべてカウント 0 を返します (データベースには、created_at が今日のエントリがいくつか含まれています)。正しいクエリは何ですか?

よろしくお願いします!

アップデート:

Post.all(:created_at.gte => 1.week.ago).length

正しい値を返しますが、これはリモート SQL データベースからすべての投稿を取得するため、悪い代替手段です。

4

1 に答える 1

0

わかりました。エラーが見つかりました。ドキュメントの「カウント」dm-aggregatesに明確に記載されているように、Sinatraスクリプトで要求するのを見逃しました。

これはごめんなさい!

于 2012-09-24T13:46:21.483 に答える