나는 Event라는 모델 클래스와 'when'필드를 가지고 있습니다. 내가 desc 때 이벤트 순서를 반환하려고, 그래서 여기 코드입니다.레일스 활성 레코드 주문 문제
@events = Event.order("'when' DESC")
데이터베이스로 MySQL을 사용하고 있습니다. 결과가으로 정렬되지 않았습니다.
나는 콘솔에보고하고, 파일
SELECT `events`.* FROM `events` ORDER BY 'when' DESC
와 나는 또한 콘솔에서이 SQL을 실행 좋아 보인다 생성 된 SQL을, 그리고 정렬 된 결과를 반환했습니다. '언제'와 특별한 것이 있습니까? 내가 Event.order("events.when DESC")
내 쿼리를 변경 한 경우
정말로 '따옴표/백틱'이 필요할 경우 'Event.order ('DESC '일 때)'가 트릭을해야하는지 확실하지 않습니다. 적어도 그것은 저를 위해 작동합니다 – MrYoshiji
@KuyaJohn 그것은 선택 사항이 아닙니다. 옵션이 아니며, 역 인용 부호가없는 경우 SQL 구문 오류가 발생합니다. – fengd
@MrYoshiji backtick, * [** MySQL 예약어 **] (http://dev.mysql.com/doc/refman/5.5/en) 목록에 WHEN이 있기 때문에 * 필요하다고 생각합니다. /reserved-words.html) –