【问题标题】:What is the DQL Equivalent of MySQL's FOUND_ROWS() Method?MySQL FOUND_ROWS() 方法的 SQL 等效项是什么?
【发布时间】:2012-02-17 02:09:34
【问题描述】:

是否有任何方法或技术可以从 select 查询中获取结果数量,就好像它在没有使用 DQL 的 limit 子句的情况下运行一样?这种行为是否类似于在 MySQL 中使用 SQL_CALC_FOUND_ROWSFOUND_ROWS()

【问题讨论】:

    标签: mysql orm doctrine dql


    【解决方案1】:

    是的,是的。 低于 2.2 的 Doctrine 版本有 Paginator extension从 2.2 版开始 Doctrine 附带了一个 Paginator 用于开箱即用的 DQL 查询。

    使用非标准的 DB 功能(如 SQL_CALC_FOUND_ROWS)对于 Doctrine(或其他 DBAL)来说不是很好的做法。 Doctrine 对用户隐藏了所有与 DB 相关的情况。所以你不能考虑将 SQL_CALC_FOUND_ROWS 与 Doctrine 一起使用,除非它不是跨数据库 SQL 的一部分。

    【讨论】:

    • 我不知道如何获得总记录量,就像执行SQL_CALC_FOUND_ROWS一样。
    猜你喜欢
    • 2011-10-09
    • 2012-05-05
    • 2010-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多