问题标签 [single-table-inheritance]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 尝试使用观察者和 STI 时出现 TypeError
我正在尝试遵循实现成就系统的线程(位于如何在 RoR 中实现成就系统),并且在保存对象并授予方法时遇到 TypeError?被调用。错误看起来像:
模型逻辑与上一个问题中的定义完全相同:
知道这里发生了什么吗?
更新: 根据下面的信息,我最终删除了抽象并将奖励方法直接放在每个控制器中。不是很干,当我有时间更多地使用它时,我会尝试再次将它抽象出来,但现在可以了。一个例子:
ruby-on-rails - 不同的路线,但在 Rails 中对模型子类使用相同的控制器
我有一个模型属性,它有使用 STI 的子类,
并且我希望所有人都使用相同的控制器,根据子类只有不同的视图部分。
除了我不确定如何辨别控制器内的子类以呈现正确的视图外,它可以正常工作。IE。/restaurants 工作并转到属性控制器,但我不能说他们想要 Restaurant 子类?
ruby-on-rails - 在 Rails 中避免 STI
在这种情况下,我真的看不出有任何理由有子类。位置对象的行为是相同的,唯一的一点是使关联更容易。我还希望将数据存储为 int 而不是字符串,因为它允许数据库索引更小。
我设想如下内容,但我无法完成这个想法:
使用此代码,以下代码将失败,基本上使其无用:
这很明显,因为无法将 has_one 声明中的 :conditions 选项转换为等于 1 的类型。
我可以将 id 嵌入到视图中出现这些字段的任何位置,但这似乎也是错误的:
有没有办法避免额外的子类或使 LOCATION_TYPES 方法起作用?
在我们的特定情况下,应用程序非常具有位置感知能力,并且对象可以具有许多不同类型的位置。我只是因为不想要所有这些子类而感到奇怪吗?
感谢您提出任何建议,如果您愿意,请告诉我我疯了,但是您是否希望看到 10 多个不同的位置模型在应用程序/模型周围浮动?
linq - 使用 LINQtoSQL 和业务对象保存和检索继承的类型
我有一个抽象的 EventBase 类和一些继承的事件类型,以及一个 Event 类。每个事件类型都有自己独特的列。
在我的数据层中,我有一个简单的 GetEvents 方法:
EventType 是一个与 EventTypes 表匹配的枚举
我希望 GetEvents(EventType type) 和 GetEvent(int id, EventType type) 做类似的事情。
我不确定开关是否是最好的主意,但我也不确定如何正确使用字典将数据检索和对象创建映射到特定类型。
我的第二个问题涉及保存数据 - 从业务对象到 L2S 表 - 基本上与上述相同的问题
我希望这是有道理的 :)
ruby - 尝试使用 Ruby Activescaffold 返回各种模型在具有继承的模型上查找
是否可以做到以上几点?
谢谢!
ruby-on-rails - Rails Single Table Inheritance with HABTM Fixture in unit testing return NoMethodError: undefined method `singularize'
想象一个模型结构如下:
模型/cross_sell_promotion.rb
模型/促销.rb
和表格如下:
然后我有一个固定装置如下:
当我运行单元测试时,它返回此错误消息:
请让我知道您是否碰巧有类似的经验或知道如何解决此问题,或者至少只是您认为可能有问题的地方,我已准备好尝试任何方法!
非常感谢,请不要犹豫回复...这里真的很绝望!
java - Hibernate:单表中的父/子关系
我几乎看不到与 Hibernate 相关的以下问题的任何指针。这与使用与其自身具有父子关系的单个数据库表实现继承有关。例如:
这里,managerId列可能为空,也可能指向Employee表的另一行。业务规则要求员工了解他的所有报告人,并让他了解他/她的经理。业务规则还允许行的managerId为空(组织的 CEO 没有经理)。
我们如何在 Hibernate 中映射这种关系,标准的多对一关系在这里不起作用?特别是,如果我不仅想将我的实体实现为相应的“员工”实体类,还想实现多个类,例如“经理”、“助理经理”、“工程师”等,每个类都继承自“员工”超级实体类,某些实体的属性实际上并不适用于所有人,例如“经理”获得 Perks,其他实体则没有(相应的表列当然会接受 null)。
示例代码将不胜感激(我打算使用 Hibernate 3 注释)。
ruby-on-rails - 具有多种类型的 STI 的 mongo 映射器?
我有一系列模型都继承自基本模型Properties
例如Bars, Restaurants, Cafes, etc.
我想知道的是,当唱片恰好是酒吧和餐厅时,该怎么办?有没有办法让单个对象继承两个模型的属性?以及它如何与密钥 :_type 一起使用?
ruby-on-rails - 使用具有相同控制器的 STI 路径
我正在使用 STI 并且想知道,我是否必须为每个型号配备一个单独的控制器?我有一种情况,我只对 STI 关系中的一个模型使用创建和编辑操作,但如果我尝试为其创建表单,则会收到“未定义方法”错误。更具体地说,我有两个继承自 List 的模型:
我有一个处理这些操作的列表控制器,但我只使用表单创建带有 RegularList 的新模型。即,我使用form_for 创建新List 对象的唯一情况是使用RegularList。我想做的是:
否则创建新列表的路线看起来像 regular_list/new,但我希望它只是列表/新。想法?
编辑:问题是当我使用上面的代码时,我得到一个“未定义的方法”错误。我的观点是这样的:
...因此,在 Lists 控制器中使用 RegularList 对象似乎存在一些问题,这是我要解决的主要问题。抱歉,我意识到这不是最清楚的解释。
inheritance - 有没有办法使用 MySQL Workbench 对表继承进行建模?
有没有办法使用 MySQL Workbench 对表继承进行建模?
我希望 ERD 看起来类似于此图像的左侧: