2011-10-25 2 views
0

나는 시스템에있는 모든 기사를 작성하기 위해 두 개의 입력을 가지고 있으며, 기사를 볼 때 방문자가 볼 수 있고 두 번째 입력은 날짜입니다. , 그것이 방문 될 때까지. 나는이 설정됩니다 경우Rails 3 & ActiveRecord - date에 대한 sql 쿼리

예를 들어, 즉 평균 그래서, 기사 3 일 볼 수, 값

2011-10-25과 2011-10-28를 입력. 기사를 계속 볼 수있게하려면 0000-00-00 값을 입력하고 싶습니다.

그러나 지금 나는 SQL 쿼리를 만드는 방법을 생각 - 내가 좋아하는 뭔가를 시도 : 그에서 날짜를 설정하고 나는 눈에 보이는 기사를하려는 경작한다 한 경우이 저를 작동

Article.where('from_date <= ? AND to_date >= ?', Func.today, Func.today) 

합니다. 그러나 매번 (0000-00-00) 기사를 볼 수있게하려는 경우이 쿼리가 작동하지 않도록이 글을 쓰도록하겠습니다. ...

힌트와 업데이트 방법에 대해 묻고 싶습니다. 그것을 위해 위의 SQL 쿼리 ... 사전에

감사합니다,

매니

답변

2

대신에 모두 0 날짜 필드를 설정하는, 전무로 설정하고 쿼리에서 null 값을 찾습니다.

Article.where('(from_date IS NULL OR from_date <= ?) AND (to_date IS NULL OR to_date >= ?)', Func.today, Func.today) 
+0

답장을 보내 주셔서 감사합니다. 이것은 내 생성 된 쿼리입니다 :'SELECT articles. * 기사 WHERE (from_date IS NULL OR from_date <= '2011-10-25') 및 (to_date IS NULL OR to_date> = '2011-10-25'))'' - 나는 10 월 28 일부터 기사를 보여주고 싶습니다. (데이터베이스는 ** 2011-10-28 **의 가치입니다.) 그러나 기사는 여전히 표시됩니다. (이미 현재) – user984621

+0

@ user984621 from_date를 2011-10으로 설정합니다. -28 및 to_date to null – clyc

관련 문제