How to add operators in doctrine2 query builder where statement(如何在 dictionary2 查询生成器 where 语句中添加运算符)
问题描述
我试图从所选持续时间除以条目持续时间等于没有余数的表中进行选择.
Im trying to select from a table where the selected duration divided by the entry duration equals has no remainder.
$qb = $em->createQueryBuilder()
->from('AcmeBlogBundle:Entry', 'e')
->andWhere(":duration % e.duration = 0")
->setParameter('duration', $duration);
这会返回错误:
[Syntax Error] line 0, col 226: Error: Expected =, <, <=, <>, >, >=, !=, got '%'
这可以在纯 SQL 中工作.有人知道如何使用 Doctrine 的查询生成器来做到这一点吗?
This would work in plain SQL. Does anybody know how to do this with Doctrine's query builder?
推荐答案
符号 %
不是 DQL 运算符.试试这个:
The symbol %
is not a DQL operator. Try this:
$qb = $em->createQueryBuilder()
->from('AcmeBlogBundle:Entry', 'e')
->andWhere("mod(:duration,e.duration) = 0")
->setParameter('duration', $duration);
或阅读:http://docs.doctrine-project.org/projects/doctrine-orm/en/2.0.x/reference/dql-doctrine-query-language.html12.5.1 段.
Or read this: http://docs.doctrine-project.org/projects/doctrine-orm/en/2.0.x/reference/dql-doctrine-query-language.html The 12.5.1 paragraph.
MOD(a, b) - Return a MOD b.
这篇关于如何在 dictionary2 查询生成器 where 语句中添加运算符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在 dictionary2 查询生成器 where 语句中添加运算符


基础教程推荐
- 超薄框架REST服务两次获得输出 2022-01-01
- 在多维数组中查找最大值 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01