created_at
으로 주문하려는 Story
이라는 모델이 있습니다. 내가 PostgreSQL을 사용 Heroku가, 내 응용 프로그램을 호스팅 한 이후, 나는 내 컨트롤러에 다음과 같은 한 :레일 : 잘못된 주문을 반환하는 Postgres에서 날짜순으로 정렬
@stories = Story.find(:all, :order => "DATE(created_at) DESC" , :limit => 11)
나는 이것이으로, 생성 날짜별로 정렬 내 이야기의 첫 11 줄 기대 가장 최근의 이야기.
불행히도, 이것은 작동하지 않습니다. 대부분의 이야기는 올바르게 주문되었지만 처음 두 개는 뒤집습니다. 즉, 최신 기사가 목록에서 두 번째로 나타납니다.
왜 이렇게 될까요? 나는 내 결과가 전혀 주문되지 않았거나 잘못된 칼럼 (아마도 id 일까?)에 주문되었다는 부적절한 의혹을 가지고 있습니다. 그리고 지금까지는 색인 페이지에 표시 될 때 예상대로 주문한 것입니다. 예상대로 주문하려면 어떻게해야합니까?
누구나 신경 쓰이는 경우 색인보기는 이야기를 순서대로 표시하는 것입니다. 즉, (HAML) 경우 : created_at
는 날짜 열임을
제가
의심 나는- @stories.each do |story|
= render :partial => "event", :locals => { :event => story }
EDIT 및 DATE(...)
함수는 시간 부분을 무시한다. 따라서 같은 날짜에 생성 된 요소를 임의의 순서로 반환합니다. 처음 두 이야기는 같은 날에 만들어졌지만 몇 시간 씩 따로 따로 작성 되었기 때문에 왜 '반전 된'것처럼 보일지 설명합니다. 이 경우 날짜와 시간 모두로 주문하는 올바른 구문은 무엇입니까? 내가 당신을 믿지
그 트릭을했습니다. 감사. –