레일스에서 여러 ActiveRecord 객체의 결과를 결합하는 효율적인 방법이 있는지 궁금합니다. 예를 들어 세 개의 개별 테이블을 세 번 호출 할 수 있으며 결과를 결합하여 공통 열로 정렬하려고합니다.ActiveRecord 객체를 결합하는 방법은 무엇입니까?
가 여기에 희망이 이해하기 쉽게 내 질문을 할 것입니다 슈퍼 기본 코드 예제 :
@results1 = Table1.find(:all)
@results2 = Table2.find(:all)
@results3 = Table3.find(:all)
@combined_results_sorted_by_date_column = (how?)
다른 사람에 의해 제안으로, 여기에 문제가 하나 개의 솔루션입니다.
@combined_results = @result1 + @result2 + @result3
@combined_results.sort! {|x,y| x.date <=> y.date}
날짜순으로 정렬하고 싶지만 Table3은 "created_on"열을 날짜로 참조합니까?
문제 관리 응용 프로그램에서 타임 라인에 대한 의견, 상태 및 커밋을 결합한 유스 케이스가 있습니다. – dangerousdave
이 경우에는 모두 특정 인터페이스에 응답해야하며 하나의 인터페이스에 매핑해야합니다. 요점은 "데이터베이스 테이블"의 관점에서 생각하면 열악한 디자인으로 이어질 것입니다. 나는 당신이 다른 장소의 데이터를 사용하지 않는다는 것을 암시하려는 것이 아니며, 그것에 대해 어떻게 접근하고 생각하는지에 대해서만 의문을가집니다. –