问题标签 [doctrine-query]
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.
symfony - 使用学说查询生成器进行“不在”查询
我试图重现这个查询:
在学说查询生成器中,我被困在 request_id 不在的地方(选择
我目前有:
doctrine-orm - Doctrine Query Builder, CASE WHEN in ORDER BY
我正在尝试在 Native SQL 中像这样使用 ORDER BY 进行查询
像这样的东西
不起作用,我收到意外情况的错误。
所以我尝试了这个:
这次我明白了
在这两种情况下,我都试图把它放在括号中,因为我发现很少有帖子说它有帮助,不幸的是,它只是在第一种情况下将错误消息更改为意外
第二个。
问题是:是否可以使用学说查询生成器在 ORDER BY 中使用条件?
php - 带有别名的 SUM() 字段上的学说 orderBy
我试图在教义上做一个简单的查询,但很挣扎。
显然,我收到关于列名未知的错误,因为 Doctrine 正在使用它自己的别名 (sclr4)。
但是,如果我尝试按实际值订购;SUM(u.stream_seconds),然后我在 order by 子句中得到一个意外的括号,我很确定 SQL 不支持这个。
所以,我只是想把数据放在一个表中并处理列的排序。这看起来很简单,我该怎么做?有任何想法吗?
doctrine-orm - 一对一执行查询的语法错误
我有两个实体:
User
具有两个字段的实体是:id
(@id),username
Profile
具有两个字段的实体是:user
(@OneToOne,targetEntity="User"),fullname
但是,当我从阅读 JPA 书籍的内容中尝试查询时:
SELECT p from Profile p where p.user.username = 'john'
它提醒我一条消息:
[Syntax Error] line 0, col 55: Error: Expected =, <, <=, <>, >, >=, !=, got '.'
php - 教义 findBy() 无法在表中找到一行
我正在尝试使用 Doctrine 作为我编写的 MVC 框架应用程序的“模型”。
我有一种情况,我想为每个“机架”记录存储一个“可用空间”记录。我希望能够从 rack_id 获取可用空间记录。
这是我的桌子。
我掀起了一些教义课......
BaseFreespace.php
自由空间.php
从客户端代码,如果我说:
...然后它挂起,直到 Apache 重置连接。如果我注释掉 die(var_dump($rack_id)) 它马上就死在那里。
我试过了:
在他们的文档中在线看到了这一点 - 但 Doctrine 不希望这样的参数 - 一定是错误的文档版本。
我试过了:
但这也挂了。
我正在失去理智。我究竟做错了什么?
symfony - Symfony2:已删除的属性仍在查询中使用
我从一个实体(销售)中删除了一个属性(预告片)。我使用 CLi 更新数据库和实体:
我清除了缓存:
现在我有一个由查询生成器创建的查询:
这会引发错误,因为它会生成一个包含旧属性的 select 语句:
我试图了解 Doctrine 如何执行查询,但未能找到问题的根源。有没有人有任何线索?
更新:我从查询中获取 DQL,由 querybuilder 生成,然后用它来创建一个新的查询。同样的错误。然后我将 DQL 中的一个单词从大写更改为小写(LEFT现在是Left)并且那个执行得很好。
所以看起来 DQL 语句被缓存在某个地方,使用 DQL 作为哈希来获取相应的 SQL 语句。我仍然无法弄清楚在哪里以及如何清除缓存的信息。特别是考虑到我也删除了 app/cache 文件夹中的所有内容。
UPDATE2:找到解决方案。必须手动清除 APC 缓存,因为控制台不能这样做。所以解决方案是:
如果这不起作用,请清除您的 APC 缓存。
forms - 自定义布局到 sfWidgetFormDoctrineChoice
我正在使用 Symfony 1.4 sfWidgetFormDoctrineChoice
我已将复选框添加到表单中,从而成功提取模型数据。我想要做的还包括复选框旁边的缩略图以及标题。
这非常棒地将查询拉入到这样排列的复选框列表中:
⧠ 绿牛仔裤
⧠ 马古先生
⧠ 下垂
在 Media Assets 表中,我还有一个要包含在布局中的图像 url。所以它看起来像这样:
|-img 缩略图-| ⧠ 绿牛仔裤
|-img 缩略图-| ⧠ 马古先生
|-img 缩略图-| ⧠ 下垂
我想也许可以使用格式化程序类,但我没有看到表单有任何变化。
lib/form/formatters/sfWidgetFormSchemaFormatterAllVideos.class.php
然后我把它放在我的 MediaAssetsForm.class.php 的底部
唉,页面布局看起来完全一样。我是否错误地调用了格式化程序,或者有更简单的方法吗?
顺便说一句,仍然没有回答我如何将表格中的图像 url 查询到每个复选框的输出中的问题。这是我想解决的主要问题。表单中每条记录的缩略图。
php - Doctrine 1.2 中 Doctrine_Query 的奇怪行为
我有一个包含多个 orWhere 语句的查询。PHP 代码如下所示:
变量 $districtIds、$municipalityIds、$workplaceIds 和 $userIds 都提前定义为逗号分隔值。
此查询在除地区 ID 之外的每个级别都可以正常工作。查询中不会返回任何具有“地区”级别的记录。
真正奇怪的是,如果我不使用绑定参数而是插入以下代码,一切正常:
更令人气愤的是,即使这个查询作为一个单独的 where 语句(不包括所有其他语句)单独完成,如果我使用绑定参数,我也什么也得不到。
好像这还不够,我什至尝试更新表格,将'district'更改为'prefDistrict',以防万一'district'这个词引起问题。没有改变。
尽管我将 EXACT SAME 数据作为绑定参数插入,就像直接输入它们时一样,但行为发生了巨大变化。这到底是怎么回事?
doctrine - 可以在没有 where() 的情况下使用 Doctrine QueryBuilder 和 Where() 吗?
在 Doctrine 中,当使用 QueryBuilder 构建查询时,第一个where
子句是否必须定义$qb->where()
或者我可以$qb->andWhere()
直接使用。例如,这是否有效:
或者,作为一个更相关的例子:
mysql - 准则查询优化
我使用教义查询生成器创建了一个查询,该生成器在执行某些操作时一次将近 65000 行(包括所有 3 个表)插入到 3 个不同的表中。要完成这个完整的过程,执行需要将近 2-3 分钟。我所做的是在循环中保留记录,然后最后刷新。那么有什么方法可以最小化我的执行时间并在几秒钟内插入数据。