我想使用 TYPO3 的原则来更新我的网站。 但是在我的命令中,我想使用ExtractValue,并且学说将此参数理解为字段,而不是像sql的函数。
这是我的代码:
$statement = $queryBuilder
->addSelectLiteral(
)
...
->where(
$queryBuilder->expr()->eq('ExtractValue(n.flexform, \'//field[@index="erasmusStatus"]/value[@index="vDEF"]\')', 1);
)
以及 SQL 中的结果:
... WHERE (`'ExtractValue(n`.`flexform, \'//field[@index=\"erasmus\"]/value[@index=\"vDEF\"]\')'` = 1))
您可以看到 SQL 将 'ExtractValue(n' 视为字段。
但我想要:
...WHERE ('ExtractValue(`n`.`flexform`, \'//field[@index=\"erasmus\"]/value[@index=\"vDEF\"]\')' = 1))
您知道可以执行此操作的 QueryBuilder 或表达式吗? 谢谢
最佳答案
将其设为字符串怎么样?
...
->where(
$queryBuilder->expr()
->eq('ExtractValue(`n.flexform`,
//field[@index="erasmusStatus"]/value[@index="vDEF"]\')',
1);
)
关于php - TYPO3 中的提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53835313/