当前位置: 首页 > 面试题库 >

Doctrine 2查询生成器ABS函数

方砚
2023-03-14
问题内容

这项工作:

    $qb = $this->em->createQueryBuilder();

    $qb->select("abs(u.code) as code")
       ->from("User", "u")
       ->orderBy("code","ASC")
       ->getQuery()
       ->getArrayResult();

这不起作用:

    $qb = $this->em->createQueryBuilder();

    $qb->select("u.code")
       ->from("User", "u")
       ->orderBy("abs(u.code)","ASC")
       ->getQuery()
       ->getArrayResult();

错误:

语法错误]行0,列118:错误:预期的字符串结尾,得到了’(’

本地学说功能abs仅对语句的选定部分起作用,而对部分命令不起作用。

Obs:

1-)我避免使用NativeQuery。

2-)u.code是mysql上的varchar fild,需要是varchar(有时是数字,有时是字符串),我需要在数字情况下像数字一样排序。

有帮助吗?


问题答案:

解决的atma Thank’s abs()realy不能直接在orderBy中使用,而只能作为别名使用。

溶解度

SELECT field1,field2,abs(field3) AS abs_field3 
FROM table 
ORDER BY abs_field3 ASC

Obs:这是一个理论上的限制,而不是mysql的限制,mysql会部分按顺序直接支持abs。



 类似资料:
  • 问题内容: 这项工作: 这不起作用: 错误: 语法错误]行0,列118:错误:预期的字符串结尾,得到了’(’ 本地学说功能abs仅对语句的选定部分起作用,而对部分命令不起作用。 Obs: 1-)我避免使用NativeQuery。 2-)u.code是mysql上的varchar fild,需要是varchar(有时是数字,有时是字符串),我需要在数字情况下订购数字。 有帮助吗? 问题答案: 解决了

  • 我想不出如何使用TypeOrm查询生成器编写以下MySql语句 从farm.reg中选择reg.id,其中grpId=“abc”; 这个选择返回的只是ID的,但我的查询生成器返回的是整个对象。 现在,我在我的NestJs服务中有这个函数,但我需要使用'map',我不想… 谢谢

  • 我正在使用Laravels查询生成器检索带有一些筛选选项的项目列表-我需要在此查询中进行计数: 计算“Freestyle ID”在likes表中出现的次数。 这有可能吗?返回的数据是完美的,我只需要一个自由泳的喜欢量,其中喜欢表中的自由泳ID为空。

  • 我正在构建一个简单的元数据表,从查询中获取数据。我希望能够查询“type”变量的两个选项。然而| |不起作用;当我使用这个时,页面崩溃。

  • 问题内容: 我必须在添加子句之后立即将表达式动态地添加到所返回的查询构建器中。我找不到任何合适的方式来做到这一点,我才刚刚开始学习Doctrine。 我如何“链接”给定数量的并将其添加到我的构建器中? 问题答案: 您可以检查此解决方案:

  • 我有一个问题,使laravel查询: 我想举个例子: 我有这个但不起作用: