Extbase寻找错误的表

时间:2015-08-12 08:26:40

标签: typo3 extbase

我正在使用TYPO3 7.4.0而且我正在学习在extbase和amp;中构建扩展。流体。 我的表名中有供应商前缀。我为扩展创建了三个表。当我进入后端并在我创建的资源文件夹的列表视图中添加实体时,它可以正常工作。当我前往前端查看我的实体的索引操作时,它会查找一个没有名称中的供应商前缀的表。有谁知道这意味着什么?我在“ext_tables.sql”中创建表。我没有定义表映射。我不知道在哪里更改extbase正在寻找的表。

1 个答案:

答案 0 :(得分:1)

默认情况下,Extbase使用架构tx_extkey_domain_model_modelname查找表,因此对于Animal ext中的zoo模型,它将为tx_zoo_domain_model_animal。 (没有下划线的extkey,如果有的话!)

如果您使用其他架构(如表名中的供应商名称),则需要使用映射。即在你的ext的主文件夹中创建文件ext_typoscript_setup.txt并使用:

config.tx_extbase{
    persistence{
        classes{
            Vendor\Zoo\Domain\Model\Animal {
                mapping {
                    tableName = tx_your_own_name
                }
            }

        }
    }
}
BTW:最好保留原始命名方案。另外一点是手动创建扩展程序可能会非常棘手 - 至少对于初学者来说,安装Extension Builder分机只需点击一下即可快速启动新扩展程序。