问题标签 [query-builder]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
doctrine - 查询生成器/DQL 不适用于 INNER JOIN - 语法问题
我知道我在这里有语法问题,但是我无法弄清楚。我正在尝试对 5 个表进行 SELECT 和 INNER JOIN,但 Symfony 抱怨在定义之前使用了 JOIN 中的实体。
实际错误如下:[Semantical Error] line 0, col 121 near 'I ON C.id = ': Error: Identification Variable MySiteBundle:Items used in join path expression but was not defined before.
这是PHP代码。
注意:我已将此查询缩短为两列、两个表和一个连接,以保持问题简单并表明我的观点。实际查询要长得多,并且产生相同的错误。
更新
正如建议的那样,我已经取消了 DQL 代码并正在使用 Query Builder 代码。我收到一个非常相似的错误,上面写着'Categories c': Error: Class 'Categories' is not defined
. 我的 QB 代码如下。
有什么建议么?
tsql - 由选择联合创建的返回表中的重复主键
我有以下名为 searchit 的查询
此查询执行并在查询生成器中返回正确的结果!但是,查询需要在代码隐藏中运行,所以我有以下行:
在任何一个表中的任何列的任何行中都没有空字段。这些表足够小,我可以轻松检测到空数据。请注意,bID 是 blog_topics 的关键,而 cID 是博客评论的关键。
无论如何,当我运行它时,我会收到以下错误:
无法启用约束。一行或多行包含违反非空、唯一或外键约束的值。
表格具有 1 x N 的关系,每个博客条目都有许多评论。如果我使用 DISTINCT 运行查询并从返回字段中删除 Comment_Narrative,它会正确返回数据(但我需要其他行!)但是,当我返回其他行时,出现上述错误!
我想告诉我返回表上有一个我没有放在那里的约束,因此它必须以某种方式从对查询本身的调用继承该约束,因为其中一个表恰好定义了一个主键(它一定有)。但是为什么查询在查询构建器中工作正常?查询构建器不关心结果中的 bID 是否被欺骗(它不应该如此),但代码隐藏确实关心。
附录:
就像测试一样,
- 我从退货列表中删除了投标,但仍然收到错误消息。
- 我从 blog_topics.bID 中删除了主键,我得到了同样的错误。
这有点告诉我,导致问题的不是我的投标被欺骗的事实。
另一个测试:我进入了设计器代码(我知道这很讨厌,我只是绝望)。我添加了以下内容:
奇怪的是,当我运行它时,我得到与以前相同的错误并且它没有显示我在错误消息中所做的更改:
我很难过......除非它看到我在 try catch 中没有做任何事情并且正在为我优化。
另一个附录:怀疑它忽略了我添加到设计器的测试代码,我添加了一些东西。它会产生相同的错误并且表现得好像它没有看到此代码。(好吧,它看不到这段代码,因为它在浏览器中打印出来的内容和以前一样。)
问题是,当我发布原始帖子时,我已经在尝试解决问题了。我不确定我能从兔子洞走多远。也许我将整个混乱读入 C# 并自己完成所有的连接和废话。我真的很讨厌这样做,因为我最近才改掉这个习惯,但我认为我正在尽善尽美地努力按照上帝和微软的意图使用这个工具。从智慧结束,tff。
doctrine - Doctrine 实体管理器中的 Symfony2 子查询
我需要执行此查询:
在 Symfony2 中使用实体管理器。
我的基本查询生成器将是:
但我无法弄清楚如何在其中添加子查询。
我试过做一个单独的查询并像这样加入它:
但我得到:
entity-framework-4 - 实体 SQL 排序然后 LINQ 到实体 GroupBy 不返回 IOrderedQueryable
作品:我的 UI 将实体 sql排序表达式从 jqGrid 发送到我的 DAL,然后应用一些返回到我的服务层的 Where 子句。然后,我的服务层将创建一个 PaginatedList 对象,该对象将 Skip()..Take() 应用于 IQueryable。例子:
不起作用:应用 GroupBy() 然后 Select() 返回相同类型实体的列表(工作表)。例子:
引发 NotSupportedException:仅 LINQ to Entities 中的排序输入支持方法“Skip”。必须在方法“Skip”之前调用方法“OrderBy”。
在我看来,第一个片段确实返回了一个应用 esql 排序表达式的 IOrderedQueryable,但第二个片段没有?或者 GroupBy() 是否删除了查询/集合的顺序?如果是这种情况,并且由于必须在 LINQ to Entities 之前应用 esql,我该如何完成 sql 排序 + LINQ GroupBy ?
相关:
ObjectQuery 何时真正成为 IOrderedQueryable?
为什么我们不能混合使用 ESQL 和 LINQ TO 实体
sql - oracle 查询从论坛中获取所有帖子
我正在使用 Oracle 作为我的 rdbms 构建一个论坛,但我在 1 个查询中遇到问题,该查询获取所有论坛帖子并显示一些数据。我遇到的问题是获得最后的讨论海报。通过我的查询,我只设法获得了最后一张海报的 id ,但我想从 users 表中获取他的用户名。这就是我所拥有的:
我有以下架构:
我做了这个查询:
我将 latest_post_by 作为 id ,我想显示用户名
symfony - Query with EXISTS for Doctrine Symfony2
How can I implement the following query with Query Builder?
The part without exist check is easy, but is there a way to implement the EXISTS
?
php - Symfony 2 中的 Doctrine 2 - 通过关联过滤 QueryBuilder
我有两个类User
和Role
,我需要创建一个QueryBuilder
返回具有该ROLE_PROVIDER
角色的用户的查询。我需要在 Symfony 2 中的实体表单字段中使用它。在表单类定义中,我对提到的字段有以下片段:
然后在我的自定义中,UserRepository
我有以下函数,它应该返回一个QueryBuilder
对象:
当然这不起作用,但我粘贴它以说明我的需求。
我一直在环顾四周,似乎 Doctrine2 不支持通过关联进行本地过滤。在此页面中,他们这样说,并建议使用DQL
这种过滤。我的问题是我还没有找到如何从一个句子中制造一个QueryBuilder
对象。DQL
如果您也可以向我提供正确的DQL
查询,我将非常感激...
谢谢你的帮助!
join - 教义 orm 计数 1:n 加入关系
我正在使用来自 symfony2 的 admingenerator 模块的教义 orm,我无法进行涉及两个表的选择计数。 我真的很感激对此的任何想法。提前非常感谢!
这是查询构建器表达式:
我使用的两个实体是:
和
虽然 Friendships 中的关联注释是由学说自动生成的:generate-entities(包含来自 Users.fbid 的 fbid 的外键引用),但据我所知,Users(1:n) 中的注释是手动插入的。
我已经尝试一遍又一遍地编辑查询生成器和注释,但最后我得到了这个:
渲染模板期间抛出异常(“Catchable Fatal Error: Object of class Doctrine\ORM\PersistentCollection could not be convert to string in C:\xampp\htdocs\symfony2\app\cache\dev\twig\ea \85\2b678090e942db52cc01e3950dbc.php 第 225 行") 在第 92 行的 Admingenerated/ShlomiUsersBundle/Resources/views/UsersList/index.html.twig 中。
谢谢,离子
asp.net - 构建查询构建器所需的指导
我的任务是构建一个查询构建器,它允许用户输入搜索词并在数据库表中搜索 1 个字段(文本)。应该允许用户在搜索表达式中使用“AND”、“NOT”和“AND NOT”。
我已经研究过使用表达式树来做到这一点,但希望有人有一个如何轻松实现这一点的例子。
我找到了以下链接:http: //msdn.microsoft.com/en-us/library/bb882637.aspx
我遇到的问题是如何找到表达式的根以确保左侧和表达式相等,如果有奇数个运算符很容易找到中间,但如果有偶数,左边应该更大吗?还是对的?或者我应该看看运营商的类型?
任何帮助都会受到极大的欢迎。
mysql - symfony2 查询构建器以一种复杂的方式
我需要知道执行此操作的最佳方法...我的数据库中有一个表,对于这篇文章,我们将其称为 TC,它只有几个我感兴趣的字段:
id, daydate, noteBy_id, and totaltime
noteBy_id 被分配给用户表,该表再次只有我正在寻找的几个项目......
id, first_name, last_name, user_name, department, parentcompany
部门参考了第三个表,该表仅在字段中具有id
和departmentName
...
到目前为止,我使用查询生成器创建了这个:
现在,这个查询按原样工作,但它返回:
这是错误的,因为它只有 1 个项目,在运行的查询中它应该在数据库中有 2 个。
它应该是这样的:
但是,如果用户 id 在 TC 表中至少有 1 个匹配项,则结果数组中应该只有条目......任何关于弄清楚这个查询的帮助表示赞赏..