我想知道在Rails中是否有一种有效的方法来合并多个ActiveRecord对象的结果。例如,我可能会对三个不同的表进行三个单独的调用,然后希望将结果组合起来,并按一个共同的列排序。
以下是一个超级基本的代码示例,希望能更好地理解我的问题:
如果我想按日期排序,但Table3将“created_on”列称为日期,该怎么办?
以下是一个超级基本的代码示例,希望能更好地理解我的问题:
@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”列称为日期,该怎么办?