违反完整性约束-如何在具有类表继承的学说中创建实体

Fabman22

我在教义中创建继承对象时遇到问题...我现在是第一次使用教义...

一些细节:sql数据库:SQL

DescribableVersionedEntity是超类(连接的继承类型),每个Entity继承该超类。(所以我必须使用类继承,是吗?)

实体:

实体

执行代码:

$owner = $this->getEntityManager()->getRepository('ChecklistCore\Entity\Owner')->find(3);
$layout = new Layout();
//Add some Attributes... (not listed here)
$layout->owner = $owner;

$translLayout = new Translation($layout);
$translLayout->text = "Translation Layout";

$cl = new Checklist($layout);
$cl->changeNoteComment = "new ChecklistComment";
$cl->owner = $owner;
$translChecklist = new Translation($cl);
$translChecklist->text = "Translation Checklist";

$userChapter = new UserChapter($cl);
$userChapter->owner = $owner;
$userChapter->isActive = true;
$translUserChapter = new Translation($userChapter);
$translUserChapter->text = "Translation UserChapter";

和错误的SQL /消息:

文件:

C:\Program Files (x86)\Zend\Apache2\htdocs\ChecklistSystem\vendor\doctrine\dbal\lib\Doctrine\DBAL\DBALException.php:91

信息:

An exception occurred while executing 'INSERT INTO translation (language, text, describableVersionedEntity) VALUES (?, ?, ?)' with params [null, "Translation UserChapter", null]:

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'describableVersionedEntity' cannot be null

我读过,外键(例如在UserChapter中)必须链接到顶部-到第一个父级。在我的示例中,继承途径是:

DescribableVersionedEntity->ChecklistElement->Chapter->UserChapter

因此,我有3个抽象的“父”类,最后一个是可用的对象UserChapter。在SQL中如何看到,我为每个Entity创建了一个表,并使用了继承类型“ Joined”。

因此,下一个问题是:我是否必须在原则上声明下一个顶级实体或最顶级的实体作为外键?

next-top: UserChapter(FK_UserChapter_Chapter), Chapter(FK_Chapter_ChecklistElement), ChecklistElement(FK_ChecklistElement_DVE) or

top-of-the-top: UserChapter(FK_UserChapter_DescribableVersionedEntity)

我想我必须使用最上层的,因为我不需要创建章节对象(例如,如果是UserChapter对象)

那么:我的体系结构是否与MySql数据库兼容?如果是-为什么创建翻译会出现问题,导致describableVersionedEntity为null?

我希望有人能帮助我,但在stackoverflow中找不到与我的问题相匹配的解决方案。.我很确定这是一个关键问题...

提前致谢!!

Wachme

您必须将UserChapter添加DiscriminatorMapDescribableVersionedEntity

 * @ORM\DiscriminatorMap({"describableversionedentity" = "DescribableVersionedEntity", "checklist" = "Checklist", "layout" = "Layout", "checklistelement" = "ChecklistElement", "footnote" = "Footnote", "contentelement" = "ContentElement", "userchapter" = "UserChapter"})

规则是,继承(DescribableVersionedEntity的根类必须包含中的所有子类,DiscriminatorMap而不仅仅是直接子类子类DiscriminatorMap即使是其他类的基础也不会定义因此,将DiscriminatorMap内容从ChecklistElement移至根类-DescribableVersionedEntity

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

实体框架迁移-违反参照完整性约束

来自分类Dev

PDO“违反完整性约束-重复条目”,但表中没有重复项

来自分类Dev

PDO“违反完整性约束-重复条目”,但表中没有重复项

来自分类Dev

违反完整性约束-即使在父表中存在行也找不到父键

来自分类Dev

连接数据库表时出错,违反完整性约束

来自分类Dev

SQLAlchemy抛出完整性错误,“表上的更新或删除违反了外键约束”

来自分类Dev

违反完整性约束-即使在父表中存在行也找不到父键

来自分类Dev

“违反完整性约束:1062重复的条目”-但没有重复的行

来自分类Dev

Hibernate OneToMany违反完整性约束:外键没有父代

来自分类Dev

SQL错误:违反完整性约束:外键没有父级

来自分类Dev

Symfony 4:如何消除违反原则完整性约束的问题?

来自分类Dev

SQLSTATE[23000]:违反完整性约束:1048 列“profile_percentage”在学说上不能为空

来自分类Dev

如何解决违反完整性约束的问题:laravel中where子句中的1052列“ id”不明确

来自分类Dev

我如何解决此错误:SQLSTATE [23000]:违反完整性约束:1062键“ PRIMARY”的条目“ 30”重复

来自分类Dev

将数据插入具有单一格式的两个表中。Laravel:错误完整性约束违反

来自分类Dev

删除具有完整性约束的行

来自分类Dev

Laravel雄辩的创建方法导致完整性约束违规

来自分类Dev

PostgreSQL:2个表之间的完整性约束

来自分类Dev

不直接相关的表的完整性约束

来自分类Dev

如何捕捉完整性约束删除错误?

来自分类Dev

Laravel:违反完整性约束

来自分类Dev

违反完整性约束:1452 laravel

来自分类Dev

违反完整性约束-空MySQL

来自分类Dev

违反完整性约束:1452 laravel

来自分类Dev

违反完整性约束-空MySQL

来自分类Dev

MS ACCESS完整性约束违反:NOT NULL检查约束;

来自分类Dev

违反完整性约束,外键约束失败

来自分类Dev

外键约束和参照完整性约束有什么区别

来自分类Dev

Hibernate-如何捕获“完整性约束冲突:唯一约束或索引冲突”

Related 相关文章

  1. 1

    实体框架迁移-违反参照完整性约束

  2. 2

    PDO“违反完整性约束-重复条目”,但表中没有重复项

  3. 3

    PDO“违反完整性约束-重复条目”,但表中没有重复项

  4. 4

    违反完整性约束-即使在父表中存在行也找不到父键

  5. 5

    连接数据库表时出错,违反完整性约束

  6. 6

    SQLAlchemy抛出完整性错误,“表上的更新或删除违反了外键约束”

  7. 7

    违反完整性约束-即使在父表中存在行也找不到父键

  8. 8

    “违反完整性约束:1062重复的条目”-但没有重复的行

  9. 9

    Hibernate OneToMany违反完整性约束:外键没有父代

  10. 10

    SQL错误:违反完整性约束:外键没有父级

  11. 11

    Symfony 4:如何消除违反原则完整性约束的问题?

  12. 12

    SQLSTATE[23000]:违反完整性约束:1048 列“profile_percentage”在学说上不能为空

  13. 13

    如何解决违反完整性约束的问题:laravel中where子句中的1052列“ id”不明确

  14. 14

    我如何解决此错误:SQLSTATE [23000]:违反完整性约束:1062键“ PRIMARY”的条目“ 30”重复

  15. 15

    将数据插入具有单一格式的两个表中。Laravel:错误完整性约束违反

  16. 16

    删除具有完整性约束的行

  17. 17

    Laravel雄辩的创建方法导致完整性约束违规

  18. 18

    PostgreSQL:2个表之间的完整性约束

  19. 19

    不直接相关的表的完整性约束

  20. 20

    如何捕捉完整性约束删除错误?

  21. 21

    Laravel:违反完整性约束

  22. 22

    违反完整性约束:1452 laravel

  23. 23

    违反完整性约束-空MySQL

  24. 24

    违反完整性约束:1452 laravel

  25. 25

    违反完整性约束-空MySQL

  26. 26

    MS ACCESS完整性约束违反:NOT NULL检查约束;

  27. 27

    违反完整性约束,外键约束失败

  28. 28

    外键约束和参照完整性约束有什么区别

  29. 29

    Hibernate-如何捕获“完整性约束冲突:唯一约束或索引冲突”

热门标签

归档