gpt4 book ai didi

ruby - Sequel::Model 中的单表继承(Ruby ORM)

转载 作者:太空宇宙 更新时间:2023-11-03 16:07:22 27 4
gpt4 key购买 nike

我的数据库中有一个名为 providers 的表,其中有一个名为 provider_type 的类型列。 provider_type 可以是以下任意一种:

  • 居中
  • 赞助

我想创建一个继承自 Sequel::Model 的类,名为 Center 和一个名为 Sponsor 的类,其生成的方法将通过 provider_type = 'center'provider_type = 'sponsor' 确定各个类别的所有查询范围。

我并非 100% 必须能够做到这一点,但如果可能的话,那将是理想的。

最佳答案

您需要 single_table_inheritance 插件:

class Provider < Sequel::Model
plugin :single_table_inheritance, :provider_type
end
class Center < Provider
end
class Sponsor < Provider
end

这将起作用,但前提是 provider_type 列与“Center”或“Sponsor”完全匹配。如果没有,您可能需要在插件调用中添加一个 :model_map 选项。此插件的文档位于 http://sequel.jeremyevans.net/rdoc-plugins/classes/Sequel/Plugins/SingleTableInheritance.html

关于ruby - Sequel::Model 中的单表继承(Ruby ORM),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10745117/

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