Ruby on rails 如何从一个模型中提取唯一值并使用它们映射到另一个模型?
我有一个消息模型,它引用了许多带有用户id密钥的记录。如何仅提取该键的唯一值,然后将其映射到id(User_id)为键的用户模型?Ruby on rails 如何从一个模型中提取唯一值并使用它们映射到另一个模型?,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我有一个消息模型,它引用了许多带有用户id密钥的记录。如何仅提取该键的唯一值,然后将其映射到id(User_id)为键的用户模型?提取比选择更有效。选择将返回一个关系对象,并在映射时创建ruby对象 user_ids = Message.select('distinct(user_id)').map(&:user_id) messaged_users = User.where(id: user_ids) user_ids = Message.pluck(:user_id) mess
提取
比选择
更有效。选择将返回一个关系对象,并在映射时创建ruby对象
user_ids = Message.select('distinct(user_id)').map(&:user_id)
messaged_users = User.where(id: user_ids)
user_ids = Message.pluck(:user_id)
messaged_users = User.where(id: user_ids)
让我看看我是否理解:那么你有一个
消息模型属于用户,一个用户模型有许多消息?你到底想用这两个模型做什么?见下文,森喜朗的想法是正确的。效果很好!谢谢,森。