Quindi, ho un modello Event
con una colonna starts_at
e ends_at
e voglio trovare eventi che si svolgono in un intervallo di date.Ricerca di record che si sovrappongono a un intervallo in Rails
mi è venuta in mente questa named_scope
(range
è tipicamente un mese):
named_scope :in_range, lambda { |range|
{:conditions => [
'starts_at BETWEEN ? AND ? OR ends_at BETWEEN ? AND ?',
range.first, range.last, range.first, range.last]} }
che funziona come previsto.
Ma se un evento inizia il mese prima e termina il mese dopo l'intervallo non mostrerà. C'è un modo per trovare quegli eventi in modo corretto?
È grandioso! Bel diagramma anche :) – mikker