테이블에 Activity
테이블에 starts_at
및 ends_at
열이 있습니다.Time.now가 두 datetime 필드 사이에있는 레코드를 선택하십시오.
내가 원하는 것은 Time.now
이 두 열의 datetimes 사이에있는 모든 레코드를 선택하는 것입니다.
테이블에 Activity
테이블에 starts_at
및 ends_at
열이 있습니다.Time.now가 두 datetime 필드 사이에있는 레코드를 선택하십시오.
내가 원하는 것은 Time.now
이 두 열의 datetimes 사이에있는 모든 레코드를 선택하는 것입니다.
이 하나
Activity.where("? BETWEEN starts_at AND ends_at", Time.zone.now)
당신은 간단하게 수행 할 수 있습니다
는now = Time.now
Activity.where('starts_at < ? AND ends_at > ?', now, now)
또한 포함 불평등을 사용할 수 있습니다 피연산자 대신 (<=
및 >=
를)
가 비명을 질러 보석을 시도, 당신이 좋아하는 것, 당신은이를 사용할 수 있습니다
또는 두 번째 옵션이 될 수 있습니다.
Actualy 활성 레코드는 같음 이외의 표현식을 이와 같이 표현할 수있는 방법으로 심볼 클래스를 보강하지 않습니다. 당신은 단지
Activity.where을해야 할 ('<을 starts_at =? AND ends_at> =?'Time.now, Time.now)
당신이 추가 할 수보십시오 샘플 게시물에 테이블 행이 있습니까? – Vashi