我有两个复杂的rails(AR)查询来自我有时想要连接的两种不同的方法。在每个对象中返回的数据结构是相同的,我只想将一个附加到另一个对象上。
这是一个简化的例子(不是我的实际代码):
@peep1 = Person.find(1)
@peep2 = Person.find(2)
认为这样的事情会起作用:
@peeps = @peep1 << @peep2
或者
@peeps = @peep1 + @peep2
上面只是一个简单的例子 - 加入查询等在我的情况下不起作用。
修改: 也许连接是错误的术语。
这是我想要的输出:
说@ peep1有:
first_name:鲍勃
last_name:史密斯
和@ peep2有:
first_name:乔
last_name:约翰逊
我希望将这些组合成第三个对象。因此,如果我遍历@peeps,它将包含来自两个先前对象的数据:
@peeps有:
first_name:鲍勃
last_name:史密斯
first_name:乔
last_name:约翰逊
谢谢!
答案 0 :(得分:6)
坦率地说,你所描述的任何内容都没有任何意义:)
@peep1
和@peep2
分别代表一个对象 - 数据库中的一行。
没有任何意义可以将它们有意义地结合起来。
你可以制作两者的数组。
@all_peeps = [@peep1, @peep2]
然后迭代它。
@all_peeps.each do |peep|
print peep.first_name
end
答案 1 :(得分:1)
这对我有用:
> @loop_feed = @job.bids.all
> @bidadd = []
> @loop_feed.each do |loop_feed|
> compare_id = loop_feed.user_id
> @user_search.each do |user|
> if compare_id == user.id
> @bidadd = [@bidadd, loop_feed].flatten
> end
> end
> end