0

現在、小さなSinatra Webアプリを構築していますが、DataMapperを使用したクエリの理解に問題があります。

データベースにdateというフィールドがあります。これをクエリして、今月のレコードのみを返したいと思います。

私はこれを試しました:

query = "2012-11"

@trips = Trip.all(:date.like =>'%query%')

これはうまくいかないようですが、誰かが私のエラーを見つけて、私にいくつかのガイダンスを与えることを望んでいます!読んでくれてありがとう、誰かが助けてくれることを願っています。

デイブ

4

2 に答える 2

0

代わりに範囲を指定してください。

@trips = Trip.all(:date => (query..query))

また、日付形式を修正して、月、日、年を提供します。

于 2012-11-29T21:35:44.103 に答える
0

あなたはこれを試すことができます:

require 'date'

date_c = Date.today
next_y, next_m = date_c.month == 12 ?
  [date_c.year+1, 1] : [date_c.year, date_c.month+1]
date_a = Date.new(date_c.year, date_c.month)
date_z = Date.new(next_y, next_m)

Trip.all :date => date_a..date_z

これにより、当月のエントリが返されます

于 2012-11-29T21:47:13.497 に答える