Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 一起显示和排序多个查询_Ruby On Rails_Ruby On Rails 3_Activerecord - Fatal编程技术网

Ruby on rails 一起显示和排序多个查询

Ruby on rails 一起显示和排序多个查询,ruby-on-rails,ruby-on-rails-3,activerecord,Ruby On Rails,Ruby On Rails 3,Activerecord,我想显示结合了来自多个查询的信息的数据。例如: @projects = @company.projects @assignments = @company.assignments @tasks = @company.tasks 我如何处理这三个查询并显示一个大表,其中显示项目、工作分配和任务,所有这些都按照在处创建的排序?预期结果如下所示: 7/11 Task created by company Xc for project Xp. 7/10 Project Xp created by

我想显示结合了来自多个查询的信息的数据。例如:

@projects = @company.projects
@assignments = @company.assignments
@tasks = @company.tasks
我如何处理这三个查询并显示一个大表,其中显示项目、工作分配和任务,所有这些都按照在处创建的
排序?预期结果如下所示:

7/11  Task created by company Xc for project Xp.
7/10  Project Xp created by User U.
7/09  Task created by company Yc for project Yp.
7/09  Assignment created by company Yc for project Yp.
7/08  Project Yp created by user U.

如果您想做更复杂的事情,比如只获取最新的x条目或分页,那么可以使用SQL
UNION
查询

如果您知道数据非常少,您可以将结果收集到一个数组中,并按
created\u在

@events = @projects.to_a + @assignments.to_a + @tasks.to_a
@events.sort_by! { |e| e.created_at }

@事件。按排序!是的,那速记也很好。但我相信扩展形式更容易理解。