完全按照官方教程创建带有翻译的 Shopware6 实体后,出现Unknown column "<tablename>_id"
错误;表名似乎被解释为列名的一部分。
问问题
140 次
1 回答
3
*_translation 表中映射字段的命名方案有一个要求:它们必须遵循 <tablename>_id。也就是说,表名是字段名的一部分。
在教程中这并不明显,因为他们谈到了 bundle_id,其中“bundle”不是实体的名称,而是表的名称。很可能您在表中添加了供应商前缀和模块名称前缀。
例子:
Your Entity: ACME\CoolModule\Core\Content\FoobarDefinition
Entity Table:
acme_coolmodule_foobar
Translation-table HAS to be exactly:
CREATE TABLE IF NOT EXISTS `acme_coolmodule_foobar_translation` (
`acme_coolmodule_foobar_id` BINARY(16) NOT NULL,
`language_id` BINARY(16) NOT NULL, ...
困难在于 Shopware 没有 SWAG-Prefix 他们自己的教程模块,所以你看不到区别。
于 2020-08-05T18:29:39.860 回答