Shopware 6 翻译上的未知列 <tablename>_id

Posted

技术标签:

【中文标题】Shopware 6 翻译上的未知列 <tablename>_id【英文标题】:Unknown column <tablename>_id on Shopware 6 translations 【发布时间】:2020-11-25 23:59:17 【问题描述】:

创建带有翻译的 Shopware6 实体后, 完全按照official tutorial, 我收到Unknown column "&lt;tablename&gt;_id" 错误;表名似乎被解释为列名的一部分。

【问题讨论】:

【参考方案1】:

对 *_translation 表中映射字段的命名方案有要求: 他们必须遵循 _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 他们自己的教程模块,所以你看不出区别。

【讨论】:

以上是关于Shopware 6 翻译上的未知列 <tablename>_id的主要内容,如果未能解决你的问题,请参考以下文章

在 Shopware 6 中通过 php 创建媒体

Shopware 6:使用 sw_include 时未加载 Twig 文件

Shopware 6 计划任务未运行

Shopware 6 : 如何使用 Shopware\Core\Content\Category\Event 中的 `CategoryIndexerEvent`

如何将在 shopware 6 中创建的订单的订单状态从开放更改为报价?

Shopware 6 OneToMany 关系