TYPO3 DBAL格式化疑似Bug?带大括号的SQL引用语句报错
TYPO3 fe_group字段foreign_table_where语法错误原因分析
- 问题出在多余的DBAL占位符{#...}:TYPO3的
foreign_table_where配置本身会自动处理关联表的别名和字段名转义,你手动添加{#}占位符反而会让SQL生成错误的语法。 - 当你设置
foreign_table = fe_groups时,TYPO3框架在构建关联查询时,已经会自动使用正确的表别名(默认就是fe_groups),并对字段名做转义处理。你写{#fe_groups}.{#title}会导致MariaDB接收到带{#}符号的非法SQL语句,自然抛出语法错误。 - DBAL的
{#...}占位符是给**自定义SQL查询(比如QueryBuilder)**或者手动指定表/字段的场景用的,TCA的关联查询配置不需要额外加这个,直接写原生的表别名.字段名格式就可以正常工作。
内容的提问来源于stack exchange,提问作者Ens
相关产品推荐
相关产品推荐

