TYPO3 queryBuilder:如何在where()子句中使用BINARY? [英] TYPO3 queryBuilder: How to work with BINARY in where() clause?

查看:67
本文介绍了TYPO3 queryBuilder:如何在where()子句中使用BINARY?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个简短的问题.

以下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"; 

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

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

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

存在另一个买家代码"f#F67 D "(最后一个字符为大写),但是我确实需要寻找另一个.

感谢您的帮助.

解决方案

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

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

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

I just have a short question.

There's no description in the following API overview of TYPO3 how to use a "BINARY" in where() clause: https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/Database/QueryBuilder/Index.html#expr

What I want to achieve? this one:

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

Actually I can only do the following:

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

But in this case I don't get a satisfying result for myself because I need case-sensitive here :-)

An another buyer_code exists "f#F67D" (the last char is uppercase) but I do need to look for the other one.

Thanks for helping.

解决方案

Since TYPO3 is using Doctrine API here, you could try to do

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

Please keep in mind, that this query now only works for database backends, supporting the BINARY keyword!

这篇关于TYPO3 queryBuilder:如何在where()子句中使用BINARY?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆