1

为什么 TYPO3 Extension Builder 不生成外键?

我已经在模型之间设置了一些关系,但是在 SQL 代码中,没有 FK 仅用于键的值的列。

有人可以帮助我吗?

4

1 回答 1

3

引用 Kartsen Dambekalns

这是一个半意识的设计决定。只需查看 MySQL 中引入外键约束的日期,并与 TYPO3 的“诞生”时间进行比较。

当然,添加这样的引用会很棒,特别是因为 MySQL 总是可以处理它们,即使底层存储引擎不处理它们(在这种情况下它们将被忽略)。

来源

到目前为止没有任何变化,因此您需要在建模后自己创建外键。

回复评论:

你是如何处理两个表之间的关系的?例如,我有一张桌子,它与带有 housenr 列的桌子房子有关

这取决于课程的关系类型(1:n, n:1,m:n等),Builder 完美地支持在建模工具中创建关系。请记住,在 TYPO3 中保持关系不需要外键。

在文档的 TCA 部分中描述了一些规则,即在提到的情况下,您可以使用selectgroup (with internal_type)字段类型。对于多对多关系,您还需要创建 MM 表。如果您遵循这些文档,则可以肯定,在常见的后端编辑表单中,它们将得到正确处理。

如前所述,Extension Builder 支持在其点击建模工具中创建不同类型的关系,值得花一些时间来玩一下,看看 TYPO3 是如何处理不同类型的关系的。它使用的规则与在pre-extbase扩展中创建关系时使用的规则相同。更重要的是,Builder 为模型添加了所需的方法,即给定关系字段的 forgettingattachingMMdetaching对象,因此在开始时对所有关系进行建模是最重要的。在其他情况下,您需要手动编写这些方法(这是一个无聊的过程)

于 2014-12-22T13:13:58.147 回答