清晰简洁的方法来查找与另一组活动记录具有相同ID的活动记录

时间:2015-07-14 05:59:31

标签: ruby-on-rails ruby postgresql

我有一个名为shoppers的表和另一个名为Users的表。我有一个shopper_id,它是Shoppers表中的外键,并引用id表中的主键Users

我运行了一个名为@shoppers = shoppers.where("some condition")

的查询

这让我得到了一组满足条件的购物者。接下来,我想选择与id具有相同shopper_id作为@shoppers.

中单个对象的用户

我知道我可以通过编写一个循环来做到这一点,但我想知道rails上的ruby是否允许我写一个Users.where条件,它可以帮助我获得具有相同{{1}的用户对象的子集} idshopper_id表中的名称字段按升序排列。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

试试这个。

  @shoppers = Shopper.where("some condition")
  @users = User.where(id: @shoppers.collect(&:shopper_id)).order('name asc')