2012-03-08 5 views
0

したがって、2つの日付、開始日、終了日を持つ表があります。私は特定の週内にあるすべてのレコードを調べるために照会できる必要があります。ですから、例えば:MySQLで月または週の日付をRails 3のActiveRecordから照会する

start: "2012-03-12 14:00:00", end: "2012-03-12 21:00:00" 
start: "2012-03-13 14:00:00", end: "2012-03-13 21:00:00" 
start: "2012-03-14 13:00:00", end: "2012-03-14 20:00:00" 
start: "2012-03-15 15:00:00", end: "2012-03-15 22:00:00" 
start: "2012-03-16 14:00:00", end: "2012-03-16 21:00:00" 

私は、「レコードが3月17日に3月11日の週に落ちる何?」(何とか)照会することによって、これらのすべてのレコードを返すようにしたいです

私はこれをActiveRecordとRails 3.2.1で行う必要があります。また、私は別のモデルからこれを行うことができれば好きです。この日付が別のモデルに属するように、ModelAとしましょう。

ModelA.dates.where(私が行う必要があり、これまでどのような)そのような

何か?

+0

*終了日と開始日の両方の*は、指定された週にするかのどちらか* *それにすべきですか? – Mischa

答えて

1
ModelA.dates.where('start >= ? OR end <= ?', week_start, week_end) 

または:

ModelA.dates.where('start >= ? AND start <= ? AND end >= ? AND end <= ?', week_start, week_end, week_start, week_end) 
関連する問題