mysql - 通过连接或包含从子记录列表中获取父记录列表

标签 mysql ruby-on-rails postgresql activerecord

假设我必须建模

class Parent < ActiveRecord::Base
  has_many :kids
end

class Kid < ActiveRecord::Base
  belongs_to :parent
end

我有很多 child

[k1, k2, k3, k4]

我想要这些 child 的 parent 名单,例如

[p1, p2]

我想通过使用包含或连接来做到这一点,任何人都可以帮助我。

最佳答案

如果您想通过 Active Record 执行此操作:

Parent.joins(:kids).where("kids.id" => array_of_kids).pluck(:id)

关于mysql - 通过连接或包含从子记录列表中获取父记录列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27498977/

相关文章:

ruby-on-rails - 使用 authlogic_api 访问 Rails REST API

sql - 如何跨多行查询匹配值?

c# - 映射到关系类型时 EF Core 3 添加迁移失败

mysql - 重命名/重构数据库元素 - 仅存在脚本,但不存在数据库

mysql - 如果不同表中的 2 列匹配,则插入列

ruby-on-rails - id 列中的基值但限制为非空

sql - 如何使用 postgres dblink 更新另一个数据库中的表?

字段、EAV 等中的 MySQL 多个值

c# - 为什么我的 mysql 查询总是返回一个 int 值而不是 boolean?

ruby-on-rails - Net::IMAP 未初始化的常量错误