gpt4 book ai didi

mysql - 结合rails中两个表的数据

转载 作者:搜寻专家 更新时间:2023-10-30 23:43:40 25 4
gpt4 key购买 nike

我有两个模型,一个属于另一个。它们看起来像这样:

class LittleClass < ActiveRecord::Base
has_many :little_class_sessions
end

class LittleClassSession < ActiveRecord::Base
belongs_to :little_class
end

LittleClassSession 有一个名为 little_class_id 的列。我想要获取所有 LittleClassSession,但也希望通过相同的哈希将关联的 LittleClass 返回给我。

Rails 中是否有一些内置的方法可以做到这一点?还是有一种干净的方法来做到这一点?

这是我在 LittleClassLittleClassSession 模型中使用 scope 构建的东西吗?

最佳答案

当您查询 ActiveRecord 时,您将获得一个 ActiveRecord:Relation 数组。它是启动查询的特定实体。您当然可以加入从属表(如在您的示例中具有一对多关系)。但是您仍然需要检查这些依赖关系以构建您需要的任何对象。

这里是我的意思的草图(假设我们搜索所有具有特定小类 ID 的小类 session ):

class_sessions = LittleClassSession.includes(:little_class).where(:little_classes => {:id => 1})

class_sessions.each do |relation|
test_hash = relation.attributes.merge!({:little_class => relation.little_class.attributes});
puts test_hash
end

test_hash会包含小类session的所有属性以及相应key下小类的属性。

关于mysql - 结合rails中两个表的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31888239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com