연관이 존재하는 경우 연관 필드별로 정렬하고 그렇지 않으면 객체 자체의 속성에 따라 정렬하는 ActiveRecord 쿼리를 작성할 수 있습니까?ActiveRecord를 사용하여 연관 필드별로 정렬
예 :은 내가 Discussion
객체 has_many :comments
있습니다. discussion.latest_comment.created_at
으로 정렬 된 토론 목록을 표시하고 싶습니다. 그러나 일부 토론에는 의견이 없을 수도 있습니다. 이러한 경우에는 대신 discussion.created_at
속성을 사용하고 싶습니다.
catch는 결과가 ActiveRecord::Relation
(성능상의 이유로, 또한 우리가 Kaminari [관계 객체 필요)를 사용하고 있기 때문에]가 필요하다는 것을 보여줍니다.
내가 생각할 수있는 유일한 점은 과 같은 새 필드를 실제로 생성하는 것이며 처음에는 discussion.created_at
으로 채워지고 새 코멘트가 게시 될 때마다 업데이트됩니다. 그러나 이는 유지 관리 측면에서 볼 때 매우 간단하지 않습니다 (예 : 댓글이 삭제되면 어떻게됩니까?).
연결에 조인 호출을 한 다음 조인 된 열의 순서를 먼저 호출 한 다음 두 번째로 로컬 열을 순서대로 정렬 했습니까? – cpuguy83