12得票3回答
使用Doctrine获取随机记录

我想知道如何从群组中获取一定数量的随机成员,但我不知道最好的方法是什么,我认为ORDER BY RAND()不是最佳选择,因为一个群组可能有超过100,000个成员,执行此类查询可能非常缓慢。 我发现可以使用SQL来实现这一点,但我不知道如何在DQL中做到同样的事情:如何优化MySQL的OR...

12得票1回答
Doctrine不允许我选择特定的字段。

symfony框架有一个app/console文件,可以通过php执行来执行一些维护任务。它允许用户运行DQL查询:# php app/console doctrine:query:dql --hydrate=array \ 'SELECT u.id, u.nameFirst, u.n...

12得票2回答
Doctrine 2 DQL中Count函数的CASE WHEN用法

我有一个原生的MySQL代码查询 SELECT * FROM `turn` LEFT JOIN ( poi ) ON ( turn.id = poi.turn_id ) GROUP BY turn.id ORDER BY count( case when poi.image = 1 ...

11得票2回答
Doctrine:不接受使用等号的选择语句。

根据DDC-2204问题所述, [Order by With Equals] 可以通过在SELECT子句中包含条件、对其进行别名处理,然后使用它来进行支持。您可能需要使用 "AS HIDDEN name" 来防止它出现在结果中。 应该可以使用以下DQL: SELECT main.id...

11得票2回答
在Symfony2和Doctrine中,仅按时间搜索DateTime字段

我使用 Symfony 2 和 Doctrine。在我的 MySQL 数据库中,有一个类型为 DateTime 的字段。在我的 Repository 文件中,我想要通过使用 QueryBuilder ,只按日期(不使用时间)或只按时间(不使用日期)搜索该表,在我的 Where 子句中。 我该...

10得票6回答
如何在 DQL 中按 NULL 排序?

我正在使用Symfony2框架和Doctrine ORM构建一个应用程序。我有一个航空公司表,其中部分IATA代码缺失。我正在输出一个按此IATA代码排序的列表,但是我得到了不想要的结果:具有空值IATA代码的记录被排序在顶部。 在MySQL中,可以使用ORDER BY ISNULL(cod...

10得票3回答
实体字段类型中的自定义查询

我使用实体类型构建了一个表单,就像这样:$form = $this->createFormBuilder() ->add('users', 'entity', array( 'class' => 'UserBundle:Users', 'query_b...

10得票1回答
如何在Doctrine查询语言(DQL)中获取日期差异?

我有一个名为Auction的实体,其中有两个类型为datetime的字段:date1和date2。 我想选择所有Auction行,其中date1和date2之间的差异小于30分钟。 如何使用Doctrine Query Language实现这一点? 根据文档,DATE_DIFF(date1,...

10得票6回答
Doctrine 查询关联实体去重

我可能忽略了一些非常简单的东西,只是盯着它看了太久了,但是我无法让这个DQL查询工作。我收到一个异常声明:Cannot select entity through identification variables without choosing at least one root entit...

10得票1回答
DQL查询错误:类未定义。

试图将我的SQL查询转换为DQL,似乎做错了什么。我需要基本的联接,类似于这样的内容。SELECT a.id, a.title, u.name FROM articles JOIN users ON a.author_id = u.id 尝试过SELECT a.id, a.title, u.n...