TYPO3 queryBuilder:如何在where()子句中使用BINARY?

时间:2019-11-04 07:10:23

标签: typo3 builder connection-pool

我有一个简短的问题。

以下TYPO3的API概述中没有描述如何在where()子句中使用“ BINARY”:https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/Database/QueryBuilder/Index.html#expr

我想实现什么?这个:

WEHRE BINARY `buyer_code` = "f#F67d";

实际上我只能执行以下操作:

->where(
  $queryBuilder->expr()->eq('buyer_code', 'f#F67d')
);

但是在这种情况下,我无法获得令人满意的结果,因为在这里我需要区分大小写:-)

存在另一个Buyer_code“ f#F67 D ”(最后一个字符为大写),但我确实需要寻找另一个。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

由于TYPO3在此处使用Doctrine API,您可以尝试这样做

->where('BINARY `buyer_code` = ' . $queryBuilder->createNamedParameter('f#F67d'))

请记住,此查询现在仅适用于支持BINARY关键字的数据库后端!

答案 1 :(得分:0)

请查看Doctrine2 case-sensitive query线程较旧,但似乎涵盖了您的问题的背景和解决方案。