2017-12-19 24 views
0

컬럼 날짜가 2 날짜 이전, 날짜 이전 또는 날짜 이후 인 모든 테이블 레코드를 선택해야합니다.Yesod.Persist를 사용하여 날짜 범위에서 레코드를 선택하십시오.

selectList 함수가 매개 변수 Filter을 사용하는 것으로 나타났습니다. 날짜 범위로 레코드를 선택해야하는 것처럼 보이지만 선택할 수있는 필터 매개 변수를 넣을 필요가 없습니다. 범위 또는 날짜 전후.

+0

가능하면 축소 된 작업 예제 (스택 해석기 사용 가능)와 함께 단순화 된 DB 스키마를 추가 할 수 있습니까? – Sibi

+0

이것을 읽었습니까? https://www.yesodweb.com/book/persistent – arrowd

답변

0

그래서 난 당신이

getBeforeDate = do 
    now <- liftIO getCurrentTime 
    selectList [TableDateColumn <=. Just now] [] 

을 사용할 수 있습니다 지금 이전 날짜의 레코드를 얻으려면 필터

[TableDateColumn <=. UTCTime]

를 추가하여 날짜 전후의 기록을 얻을 수 있습니다 발견 아직 확인하지는 않았지만 selectList은 범위 목록을 선택하는 것이 의미가있는 필터 목록을 취합니다.

selectList [TableDateColumn >=. timeStart, TableDateColumn <=. timeEnd] []