gpt4 book ai didi

mysql - SUBSTRING_INDEX 在 Doctrine 2 中不被认可

转载 作者:行者123 更新时间:2023-11-28 23:24:23 24 4
gpt4 key购买 nike

我正在开发 Symfony 3 CRM,我需要能够创建一个客户列表,该列表可以按姓氏的第一个字母进行过滤。问题是,我需要先拆分列数据才能找到姓氏 - 这是因为数据库与 Sage 同步,Sage 需要特定格式的数据,所以我无法更改它。

我发现了 SUBSTRING_INDEX 函数并在我的 mySQL 软件中对其进行了试用,它运行良好 - 因此我尝试将其合并到 DQL 查询中,如下所示:

$query = $em->createQuery("SELECT u FROM AppBundle:Customer c WHERE SUBSTRING_INDEX(SUBSTRING_INDEX(c.contact_name, ' ', 3), ' ', -1) LIKE :letter");
$query->setParameter('letter','%'.$letter.'%');

其中 $letter 通过来自 CRM 的请求传递。但是,我在尝试运行时从 Symfony 收到以下错误:

[Syntax Error] line 0, col 41: Error: Expected known function, got 'SUBSTRING_INDEX'

我的猜测是 Doctrine 不识别 SUBSTRING_INDEX 函数?有没有其他方法可以做我需要做的事情,或者有什么方法可以让 Doctrine 识别这个功能?

最佳答案

Doctrine 无法将 SUBSTRING_INDEX 识别为函数。

您可以导入 Doctrine Extension识别它或更改您的查询 lke this sql LOWER(SUBSTRING(c.contact_name, LOCATE(' ', c.contact_name)-1))

关于mysql - SUBSTRING_INDEX 在 Doctrine 2 中不被认可,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39960287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com