MySQL 的 FOUND_ROWS() 方法的 DQL 等效项是什么?

发布于 2025-01-06 14:26:20 字数 179 浏览 0 评论 0原文

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

Is there any method or technique for getting the number of results from a select query as if it had been run without a limit clause using DQL? This behavior would be similar to using SQL_CALC_FOUND_ROWS and FOUND_ROWS() in MySQL?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迷离° 2025-01-13 14:26:20

是的。 低于 2.2 的 Doctrine 版本有Paginator 扩展从版本 2.2 开始 Doctrine 附带一个 Paginator< /a> 用于开箱即用的 DQL 查询。

对于 Doctrine(或其他 DBAL)来说,使用非标准数据库功能(例如 SQL_CALC_FOUND_ROWS)并不是一个好的做法。 Doctrine 向用户隐藏所有依赖于数据库的情况。因此,除非 SQL_CALC_FOUND_ROWS 不是跨数据库 SQL 的一部分,否则您不能考虑将 SQL_CALC_FOUND_ROWS 与 Doctrine 一起使用。

Yes, it is. There is Paginator extension for Doctrine versions lower than 2.2. Starting with version 2.2 Doctrine ships with a Paginator for DQL queries out of the box.

Using non-standard DB features (like SQL_CALC_FOUND_ROWS) is not good practice with Doctrine (or other DBAL). Doctrine hides all DB-dependent circumstances from user. So you can't think about using SQL_CALC_FOUND_ROWS with Doctrine until it's not a part of cross-database SQL.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文