2010-01-08 2 views
0

을 작동하지 않습니다, 명부의 무리가 (의를 true 또는 false)나는 이제 내가</p> <p>목록이 날짜와 기능이 목록 있다고 가정 해 봅시다 내가 레일에 기능을 갖춘 날짜를 기준으로 정렬하는 것을 시도하고 아직 제대로

먼저 내 주문을 featured = true로 주문하려면 어떻게해야합니까?

현재 일부 추천 목록에 별표가 표시되어 있으며 일부는 허위로 표시됩니다. 즉 허위로 표시되는 항목은 사실 이전에 표시됩니다. DESC created_at => '기능을 갖춘 ASC 순서 : sort_by_featured_date : 거짓이 알파벳 순으로 진정한 전에 때문

것은 내가

named_scope를 타이핑하면 (좋은 초원에서 이런 경우 제가 있으리라 믿고있어입니다) 의미가 있습니다 '

만약 내가 그것을 desc 다음 기능 = false는 바닥에 갈 것이지만 nil 가기 갈 것입니다. 어쨌든 거짓을 강요하는 유일한 방법은 뭔가요?

우선 순위로 featured = true를 기준으로 정렬하려면 어떻게해야합니까? 행운과 함께 주문 조항에 변형을 시도했습니다. 진실에 대한 무언가가 실종 된 것입니다.

답변

2

행이 'featured = null'인 경우 'false'가되고 올바르게 주문되도록 COALESCE (featured, false)를 사용할 수 있습니다.

1
... 
ORDER BY 
    CASE 
     WHEN featured = true THEN 0 
     WHEN featured = false THEN 1 
     WHEN featured IS NULL THEN 2 
    END ASC, 
    created_at DESC 
관련 문제