我有一个名为shoppers的表和另一个名为Users
的表。我有一个shopper_id
,它是Shoppers
表中的外键,并引用id
表中的主键Users
。
我运行了一个名为@shoppers = shoppers.where("some condition")
这让我得到了一组满足条件的购物者。接下来,我想选择与id
具有相同shopper_id
作为@shoppers.
我知道我可以通过编写一个循环来做到这一点,但我想知道rails上的ruby是否允许我写一个Users.where
条件,它可以帮助我获得具有相同{{1}的用户对象的子集} id
由shopper_id
表中的名称字段按升序排列。
有什么想法吗?
答案 0 :(得分:1)
试试这个。
@shoppers = Shopper.where("some condition")
@users = User.where(id: @shoppers.collect(&:shopper_id)).order('name asc')