gpt4 book ai didi

ruby-on-rails - 使用 Ruby Object Mapper 加入关系

转载 作者:数据小太阳 更新时间:2023-10-29 08:48:48 26 4
gpt4 key购买 nike

我有一点"just for fun" Rails app我正在从 Active Record 和 SQLite 迁移到 Ruby Object Mapper。这主要是我探索数据映射器模式影响我的代码的方式的机会。

我有一个类(class)模型、一个游戏模型和一个分数模型。在计算类(class)记录时,我需要获取类(class)对象及其所有相关游戏以及每个游戏的所有分数。

我找到了 an example of creating a joined relation但是后来我似乎找不到任何关于如何为该关系编写映射器的示例,因此我无法真正取回该数据。

我的 ROM 架构如下所示:

base_relation :courses do
repository :main
attribute :id, Integer
attribute :name, String
attribute :created_at, Time
attribute :updated_at, Time
key :id
end

base_relation :games do
repository :main
attribute :id, Integer
attribute :course_id, Integer
attribute :played_at, Time
attribute :created_at, Time
attribute :updated_at, Time
key :id
key :course_id
end

我想查询一个给定类(class)及其所有相关游戏的位置。像这样的东西:

env[:courses].restrict(id: 1).join(env[:games]).one

但我一直没能找到指定连接的正确语法,我只知道 axiom 支持内存连接。

有谁知道使用 Ruby Object Mapper 中的连接数据进行读取和写入的好示例?

最佳答案

目前ROM不支持映射连接关系OOTB。公理中出现了一个称为 nest/unnest 的新功能,ROM 将使用它以一种理智的方式映射连接关系。

现在它需要大量的黑客技术,这就是为什么我们决定推迟该功能并等待 axiom 的 nest/unnest。

关于ruby-on-rails - 使用 Ruby Object Mapper 加入关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19205785/

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