dql 相关问题

Doctrine查询语言(DQL)是一种对象查询语言,用于帮助用户进行复杂的对象检索。

Symfony2 Doctrine 查询生成器 where IN

我在谷歌上浪费了数万亿个小时,但没有一个解决方案是好的。 我有这个查询生成器: $qb2=$this->createQueryBuilder('s') ->addSelect(‘u’) ->innerJoin...

回答 2 投票 0

创建像 IF MySQL 函数一样的自定义 DQL,但它不起作用 - [Symfony 2]

我打算将 IfFunction 添加到 DQL 但它不起作用: //我的DQL类 我打算将 IfFunction 添加到 DQL 但它不起作用: //My DQL Class <?php namespace Application\HappyBundle\DQL; use Doctrine\ORM\Query\AST\Functions\FunctionNode; use Doctrine\ORM\Query\SqlWalker; use Doctrine\ORM\Query\Parser; use Doctrine\ORM\Query\Lexer; /** * IFFunction ::= "IF" "( "ArithmeticPrimary" , "ArithmeticPrimary" , "ArithmeticPrimary" )" */ class IFFunction extends FunctionNode { // (1) public $firstNumericExpression = null; public $secondNumericExpression = null; public $thirdNumericExpression = null; public function parse(\Doctrine\ORM\Query\Parser $parser) { $parser->match(Lexer::T_IDENTIFIER); // (2) $parser->match(Lexer::T_OPEN_PARENTHESIS); // (3) $this->firstNumericExpression = $parser->ArithmeticPrimary(); // (4) $parser->match(Lexer::T_COMMA); // (5) $this->secondNumericExpression = $parser->ArithmeticPrimary(); // (6) $parser->match(Lexer::T_COMMA); // (5) //$parser->match(Lexer::T_CLOSE_PARENTHESIS); // (3) $this->thirdNumericExpression = $parser->ArithmeticPrimary(); // (6) $parser->match(Lexer::T_CLOSE_PARENTHESIS); // (3) } public function getSql(\Doctrine\ORM\Query\SqlWalker $sqlWalker) { return 'IF(' . $this->firstNumericExpression->dispatch($sqlWalker) . ', ' . $this->secondNumericExpression->dispatch($sqlWalker) . ', ' . $this->thirdNumericExpression->dispatch($sqlWalker) . ')'; } } //config.yml 中的声明 dql: datetime_functions: timediff: Application\HappyBundle\DQL\TimeDiff addtime: Application\HappyBundle\DQL\AddTime numeric_functions: IF: Application\HappyBundle\DQL\IFFunction 添加 DQL 函数可以工作,但是当我打算这样做时: SELECT IF(1<2,'oui','non'); 字符'<' If i put the If function like this 有错误 SELECT IF('1<2','oui','non'); 它可以工作,但不能评估第一个条件:( 如果有人有想法...... 谢谢你的帮助。 我找到了解决方案,问题出在解析器上,它必须包含像这样的ConditionalExpression来评估: class IfFunction extends FunctionNode { private $expr = array(); public function parse(\Doctrine\ORM\Query\Parser $parser) { $parser->match(Lexer::T_IDENTIFIER); $parser->match(Lexer::T_OPEN_PARENTHESIS); $this->expr[] = $parser->ConditionalExpression(); for ($i = 0; $i < 2; $i++) { $parser->match(Lexer::T_COMMA); $this->expr[] = $parser->ArithmeticExpression(); } $parser->match(Lexer::T_CLOSE_PARENTHESIS); } public function getSql(\Doctrine\ORM\Query\SqlWalker $sqlWalker) { return sprintf('IF(%s, %s, %s)', $sqlWalker->walkConditionalExpression($this->expr[0]), $sqlWalker->walkArithmeticPrimary($this->expr[1]), $sqlWalker->walkArithmeticPrimary($this->expr[2])); } }

回答 1 投票 0

使用 DQL 计算 COUNT where SUM 条件

根据我们俱乐部的会员数据库,部分会员存在欠费情况。 有 5 列:id、member_nbr、object、debit 和credit。 现在,由于捐款可以推迟,可能会有几个......

回答 1 投票 0

如何在 dql Symfony 中进行左连接

我想了解 dql 逻辑,并且我想创建这种请求。 下面是我想做的 SQL 请求: 选择标题任务、描述任务、开始日期、截止日期,

回答 1 投票 0

后续查询,不包括已经收集的结果

有点奇怪 我在我的存储库中编写了一个接受字符串查询的搜索函数。 在此,它运行一个快速查询,对实体标题进行通配符搜索,寻找匹配...

回答 1 投票 0

从 SQL 转换为 DQL

能否将其转换为 DQL : 选择分子.cas、分子.id_molecule、分子.statutvlep8h、statutvlepct、 vlep8h_mg、vlepct_mg、分子.unitevlep、prelevement.id_laboratoire 来自

回答 1 投票 0

Doctrine DQL 日期作为参数问题

您好,我有一个有效的 DQL(我从一开始就得到了所有事件): DoctrineHelper::getEntityManager()->createQueryBuilder() ->select("u.姓氏, count(u.姓氏)为总数") -...

回答 5 投票 0

DQL 通配符在两个方向获取结果

我有开放搜索,当我在发现中搜索时,过滤策略名称:“Internet*” 我的策略名称字段的结果是: DC->互联网 互联网->邮件 我不想展示*->国际米兰...

回答 1 投票 0

Symfony:解决 Doctrine EntityNotFoundException

我想要利用一个预先存在的 Oracle 数据库。 为此,我创建了 2 个类,并用多对一和一对多进行映射。但有些元素是第一类没有的

回答 2 投票 0

使用DFC(Documentum)创建文件夹

我面临一个奇怪的问题。 我想要的只是用 DFC 创建一个新文件夹。但是当我执行代码(JUnit 或应用程序内部)时,没有创建文件夹,令人惊讶的是没有例外......

回答 3 投票 0

需要使用上一个结束日期和下一个开始日期之间的范围行

在白色资源可用性工作时。我在这里得到了结构。让我解释一下,希望在这里得到一些帮助。 考虑如下表的可用性,创建带有投注示例记录的脚本...

回答 1 投票 0

Doctrine2 - 没有关系的子查询连接

好的,这就是问题所在。 我有一个名为 HelpDocuments 的实体和一个名为 LogEntry 的实体。 用户可以关闭帮助文档。发生这种情况时,我创建一个具有以下属性的 LogEntry...

回答 1 投票 0

如何选择同时具有多对多关系中的项目的行

假设我有“新闻”实体,它具有多对多“标签”关系 班级动态 { /** * @ORM\ManyToMany(targetEntity="App\Domain\Entity\Vocabulary\Tag") ...

回答 1 投票 0

无法从表单生成器中的存储库获取EntityManager

在 Symfony2 的表单类型中,我想包含一个带有查询生成器的实体字段,以便选择要显示的行。 我的查询很复杂,我无法找到一种方法来使用 q...

回答 1 投票 0

Doctrine查询扩展按同表的相关实体过滤

我正在我的 Symfony 项目上使用 API 平台。 我有 3 个表: account / user / account_user 一个帐户可以有一个父帐户。 当我 GET /accounts 时,我需要返回所有具有

回答 1 投票 0

在 Symfony2 中使用 Doctrine DQL 时限制检索的记录数量

我有以下疑问: $latestcontent = $em->createQuery(' SELECT c.title、c.content、c.lastedit、a.firstname、a.surname 来自 ShoutMainBundle:内容 c,

回答 1 投票 0

在 Doctrine DQL 查询中使用 COLLATE (Symfony2)

我找不到任何与在 Doctrine 的 DQL 查询中使用 COLLATE 相关的内容(当然它似乎不起作用)。 我的具体问题: 我有一个带有 utf8_general_ci 字符集的表。我有一个sp...

回答 2 投票 0

为什么正则表达式没有应用于最终输出?

我正在尝试将一些正则表达式应用于使用笔记程序 Obsidian 的 Dataview 插件收集的一些文本。 我正在使用 dataview 插件从多个笔记中获取一些文本并复制...

回答 1 投票 0

Symfony Doctrine:orderBy JSONb 字段?

有没有办法通过学说中的特定jsonb字段进行排序? 表示例: ID 人物数据 薪水 1 {'姓名':'约翰·史密斯','号码':13} 10000 2 {'姓名':'无名氏','号码':192} 11000 2 {'呐...

回答 1 投票 0

Doctrine ORM 查询问题 - 双向查找用户联系人

社区您好! 我在 Doctrine ORM 查询中遇到了一个具有挑战性的问题,该问题与根据我的帐户和联系人实体查找用户联系人相关。让我提供一些背景信息: 实体结构...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.