问题标签 [class-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 - Rails 5+ 中 OO/Table 继承(即 STI、MTI、CLI)的可能解决方案是什么?
这些是我看到的可以帮助解决“ Rails 5 - 对象关系阻抗以及如何构造多个继承的类/表” TL;DR - 对象表阻抗 ORM 问题的选项。
抽象基类,每个子类都有自己的表(即在自己的表中存储每种类型的公共属性)
STI,只需将所有内容放在一个基类和表中,并在该表中创建所有子属性,但让子类(即您的其他 Rails 模型)从该基类继承。
Sequel db(支持类表继承)
Dan Chak 的“Enterprise Rails”解决方案(在这里),看起来很老,但看起来很有希望
作品
还有其他人吗?
mysql - SQL Concrete Vs Class Table Inheritance query speed on one subtype
I am weighing up between Concrete and Class Table Inheritance (see example below). Class Table certainly has a lot of benefits, in particular for my scenario, super table columns are guaranteed consistent across the full data set. However I have next to no need to query every subclass at once, instead all queries will be on one subclass at a time (of which there are at least 9 subclasses).
Thus with my row count looking like it will be very large, would it be much sizable quicker to query one Concrete table with less rows ie: (as per example below)
Or would the foreign key relationships be effectively quick enough that any query speed difference in looking up the very large super table is negligible in Class Table Inheritance: (as per example below)
An Example of Concrete Inheritance: A completely seperate table for each type with columns in common repeated in each table>
An Example of Class Table Inheritance: One super class, many sub classes. Each subclass id references a superclass id.
ruby-on-rails - 续集类表继承
我希望在 Rails 中使用 Multiple/Class 表继承来启动一个项目。为此,我计划使用 Sequel 而不是 ActiveRecord。文档可以在这里找到 - Sequel - 类表继承
我的插件在一定程度上可以工作,我可以调用 child.first ,它会给我第一个子类,这不是父类的第一个,它包括子表中的数据。问题正在转向另一个方向......
所以如果我通过父类加载一个数据库行,它恰好是一个 child2 类
然后尝试使用它应该给我的文档中列出的刷新命令来获取子数据
但它没有,它只是返回未改变的父级
我在我的父类中包含了一个模型图
我玩过不同的价值观和其他废话,试图让它发挥作用,但没有成功。
我理想中想要的是能够找到父类并调用一个方法来实例化子类,所以
我觉得我可能可以在我的父类中破解/添加一个方法来做到这一点,但在这一点上我感觉很简单,我不应该这样做,而且刷新方法不起作用的事实让我和我一样担心解决
有人有答案吗?ty阅读
ps我正在使用rails 5,rails-sequel gem,并且正在一个或多或少空白的项目中工作,我只想拥有一个像样的CTI设置,因为对我来说它似乎比多态关联更优雅。
symfony - Doctrine2 Class table inheritance Entity ID
i have this situation
When i generate entities i add the inheritance
The problem appears whe i try to update database schema because of the same "id" column name of both the entities. I've tryied to add an attribute override but i guess this is not the proper way
I've tryied also to change the property name (not the column name) in guest_id but the error is the same
Do i have to change the Guest "id" column name? Where am i wrong?
Thank You
mysql - Mysql 子类型和超类型 - 数据库建模
我即将开发一个用于学习目的的个人项目。一个房地产网站,广告商(注册用户)可以在该网站上发布其房产(公寓、土地、房屋……)的广告,供出租(在规定期限或未规定期限内)或出售。客户(访客)也可以在特定位置搜索特定类型的物业出租或购买。
商业规则:
- 用户是注册用户。
- 用户有一个角色,并且只有一个角色(用户、管理员……)。
- 角色属于许多用户(每个用户的默认角色是用户)。
- 用户有一个位置,只有一个位置(位置指地址)。
- 位置属于许多用户。
- 用户拥有许多房产(出租或出售)。
- 财产属于一个用户。
- 财产属于一个位置(位置是指地址)。
- 文件属于财产。
- 属性有很多文件(基本上是图像)。
我做了很多谷歌搜索,在 databaseanswers.org 中看到了一些数据库建模,但我被困在属性的类型/功能上,我无法弄清楚,我不知道最好的解决方案!因为每种类型的房产都有不同的特点,例如公寓有房间、浴室......但土地没有,因为土地我们可以说它们在城内或城外......</p>
我想设计这个数据库,使其更易于维护和扩展。我不希望数据库设计结构在开发时导致更复杂的查询/代码。
如果你能给我一些关于我的“小”问题的建议,我将不胜感激。
我是否必须将每个属性的类型与它们自己的实体(表)分开,例如公寓表、土地表、房屋表……这样我就可以将它们附加到它们自己的特征上。
或者我是否必须将它们与所有Features合并到一个表“Properties”中,并让另一个表“Type”将每个属性链接到它的类型(如在帖子和类别中)。
还是我必须创建四个表"Properties" "Type" "Features"和一个数据透视表"feature_property"。
- 财产属于一种类型(公寓、土地、房屋……)。
- 类型有很多属性。
- 特征有很多属性。
- 一个属性有许多特征。
datetime - Doctrine 类表继承属性在查询中具有错误值
我在模型中使用了两个 Doctrine 概念:
- 类表继承
- 生命周期回调
当我加载父类的继承实例时,使用生命周期回调更新的父属性是错误的,不是我在数据库的父类表中拥有的值。
父 {abstract} 类:用户
子类:会员
然后在控制器中
这是我的数据库内容的摘录
当我调试成员的 updatedAt 属性时,我希望该值是对应于的 DateTime 对象2016-06-01 12:00:00
,而不是日期...
它甚至与继承加载有关吗?无法弄清楚这是从哪里来的。
php - ZF2 + Doctrine 2 - 具有类表继承的子级鉴别器
关于带有 Doctrine 2 的 ZF2 和使用鉴别器的 SO 和网络上的很多问题是:您如何不在父实体上声明所有子实体?特别是当您有多个模块时?
简短的回答是:不要声明一个discriminatorMap
. 教义会为你处理它。
更长的答案如下。
doctrine-orm - 如何在 Doctrine 2 中为具有不同 ID 列名称的表设置类表继承?
我有一个person
带有id
as 标识符列的表和一个student
带有person_id
as的表PRIMARY KEY
。该列student.person_id
引用 ( FOREIGN KEY
) person.id
。
相应地存在三个类:具有成员的abstract
类及其没有任何“标识属性”的子类。Person
id
Student
我正在尝试Class Table Inheritance
为此结构定义:
Person
Student
但是当我尝试检索对象时
我遇到了一个例外。问题是,Doctrine 假设,表的标识列students
具有名称id
并构建SELECT
如下语句:
代替
并遇到错误
对于新系统,最简单、最干净的方法可能是重命名student.person_id
列。但我目前正在将现有系统迁移到 Doctrine 2,并希望尽可能多地让其迁移,只要迁移尚未完成。
如何通过使用不同的列名作为父表标识符和子表标识符(-s)在 Doctrine 2 中定义类表继承?
php - Doctrine CTI 急切地加载在关联的子类中定义的关联实体
我正在尝试急切地加载在关联的子类中定义的关联实体(在 DQL 中),以便该关联不会被延迟加载(这会导致许多单独的查询。)
示例情况
假设我与一些人(为简单起见,我将其称为人员)开展业务,其中有几个是雇员。员工可以拥有书籍,而所有其他人则不能。
在 PHP 中表示情况的实体。
问题
我想获得一个商业实体及其所有人员,同时也急切地加载所有员工的账簿,这样他们就不会为每个员工懒加载。
如果我要通过 DQL 查询来执行此操作,我将不得不将 Person 关联向下转换为 Employee 以加入书籍。然而,这在 DQL 中是不可能的。(请参阅有关此主题的相关问题)
DQL 中可能的非工作示例:
由于这是一个无效的示例...我将/应该如何执行此操作以及如何执行此操作?