- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有这个带有子查询的查询。
SELECT * FROM
(SELECT module_id FROM an_modules AS m LIMIT 20 OFFSET 0) AS m
LEFT JOIN an_module_sites AS ms ON (m.module_id = ms.module_id)
如何使用DBAL像这样构建子查询?
这似乎行不通。
$qb->select('*')
->from(
$qb->select('module_id')
->from($this->Db->getTableName('modules'), 'm')
, 'm')
->leftJoin('m', $this->Db->getTableName('module_sites'), 'ms', 'm.module_id = ms.module_id');
$stmt = $qb->execute();
$result = $stmt->fetchAll();
最佳答案
我最近需要这样做来实现分页/排序助手。作为其中的一部分,我将采用由我的模型执行的查询生成器,并通常计算它在不受限制的情况下将生成的总行数。
要跨平台,我不能使用 rowCount
并且潜在的分组意味着我不能只更改选择中的字段 - 所以最好的选择是删除限制并将其计为子查询。这是我想出的:
<?php
$totalResults = $qb->getConnection()->createQueryBuilder()
->select('COUNT(*)')
->from(
'('
.$qb
->setFirstResult(null)
->setMaxResults(null)
->resetQueryPart('orderBy')
->getSQL()
.')',
'tmp')
->execute()
->fetch(\PDO::FETCH_COLUMN);
我不确定 doctrine ORM 是如何处理这个问题的,但至少在纯 DBAL 中这似乎是可行的。
关于mysql - 如何使用 DBAL 查询构建器来构建这个子查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33869759/
已关闭。此问题旨在寻求有关书籍、工具、软件库等的建议。不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以
当我尝试将服务 @doctrine.orm.entity_manager 作为我的监听器 UserDeletionListener 的参数时发生错误。 我的服务: se.doctrine_listen
这个问题在这里已经有了答案: Laravel model with POINT/POLYGON etc. using DB::raw expressions (3 个回答) 1年前关闭。 我正在使用
我最近将一个Laminas项目从信条迁移1.4升级到3.6,并将信条-orm模块从1升级到5.3。在我的部署服务器上,当运行./vendor/bin/stasty-module sync-meta-s
我收到以下 SQL 的“基数冲突”错误: Doctrine\DBAL\Exception\DriverException: 执行时发生异常 SELECT p.* FROM mod_products_p
我想请求您帮助 Doctrine2 DBAL使用 QueryBuilder 构建的查询。我已经习惯了 ORM,但我认为对于在监听器中调用的此类查询来说,这是一种矫枉过正的做法。 我需要使用 SELEC
我想请求您帮助 Doctrine2 DBAL使用 QueryBuilder 构建的查询。我已经习惯了 ORM,但我认为对于在监听器中调用的此类查询来说,这是一种矫枉过正的做法。 我需要使用 SELEC
我正在使用 Doctrine 2,其中我有多个 DBAL 连接。我在 ORM 中也有多个 EntityManager。 我需要能够以某种方式将特定的 DBAL 连接自动连接到其他 Symfony 3
背景 我正在处理的应用程序目前全部使用 mysql_query 语句,我们希望迁移到 Doctrine DBAL。 mysql_query 函数有数千种用法,我们希望使用新的 DBAL 开始新的开发并
我刚刚将 Doctrine DBAL 安装到一个简单的测试 PHP 项目中,并创建了一个测试数据库并成功进行了一些查询。包括同时使用位置参数和命名参数的查询,例如: echo ''; echo 'Si
您好,我有一个在事务中工作的服务,它与远程 API 通信,我想记录此 API 中的每个请求/响应,但如果主事务回滚,任何日志也会回滚。 我的想法是克隆DBAL连接。它会打开第二个没有事务的连接,我可以
我正在尝试创建一个 Doctrine DBAL querybuilder 对象并在其中设置一个参数。(使用 postgres db,dbal 2.3.4, Doctrine $connection =
我将 Symfony2 框架与 Doctrine DBAL 结合使用,并将一些数据插入 MySql 数据库。插入看起来像这样(简化): $conn->insert('sometable', array
我有这个带有子查询的查询。 SELECT * FROM (SELECT module_id FROM an_modules AS m LIMIT 20 OFFSET 0) AS m LEFT JOIN
我正在使用 Doctrine 的枚举类型来跟踪我在 Symfony 应用程序中使用的实体的状态。我正在(大致)使用此处描述的方法: http://docs.doctrine-project.org/p
我不太明白如何在 DBAL 中进行事务处理 我有以下脚本,它根据行的 ID 更新列。我放置了一个表中不存在的假 ID,(因此无法进行更新)但是尽管这是一个事务,但第一个更新已提交。如果其中一个交易失败
是否可以使用 Doctrine DBAL 对 SQLite 数据库进行批量插入?即使以下操作更有效率: $twitter = new TwitterAPIExchange($twitterAuth);
我正在尝试使用 DBAL 查询生成器更新记录,但它似乎不起作用。我试图设置的 data 列只有在我将此处的 test 示例值替换为数字时才有效。 在那种情况下,它会完美地更新我的记录。 即使我也为它使
我有这个简单的例子: $names = ['a', 'b']; $query = $dbConnection->createQueryBuilder(); $query->select('*')
我有这个文件夹结构 [-] myapp/ [+] app/ [-] lib/ [-] vendor/ [-] doctrine/
我是一名优秀的程序员,十分优秀!