首页 > 解决方案 > TYPO3 中的提取值

问题描述

我想使用 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 或表达式吗?谢谢

标签: phpmysqlsqltypo3

解决方案


把它变成一个字符串怎么样?

... 
->where(
    $queryBuilder->expr()
                 ->eq('ExtractValue(`n.flexform`,
                                    //field[@index="erasmusStatus"]/value[@index="vDEF"]\')', 
                                    1);
                     )

推荐阅读