mirror of
https://github.com/doctrine/orm.git
synced 2026-03-23 22:42:18 +01:00
Fetch mode hint is ignored when using Paginator
#7446
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @aprat84 on GitHub (Nov 28, 2024).
Bug Report
Summary
This is related to issue #11128 and PR #11445.
When a
fetch=EAGERassociation is filtered usingWITH, it raises an error unless fetch mode is overridden by callingsetFetchMode(LAZY)over the association.This worked well after the fix in #11445.
Somehow, in 2.20.x and 3.3.x this bug returned, partially, only when using
PaginatorwithfetchJoinCollectionparameter set totrue.Seems like #11188 introduced this bug.
Current behavior
An exception is raised even when fetch mode is overridden.
Expected behavior
It should work the same with or without pagination.
How to reproduce
See test in https://github.com/aprat84/orm/tree/gh-11741
@aprat84 commented on GitHub (Dec 9, 2024):
Seems like #11188 introduced this bug. Commits were squashed apparently, so can't test them separately.
@mpdude @greg0ire
@aprat84 commented on GitHub (Feb 4, 2025):
@mpdude can you take a look at while you may still have fresh memory of what you did in #11188?
This is preventing me to update to next minor...
@aprat84 commented on GitHub (Feb 5, 2025):
I looked into it a little bit, and I think the problem is that in
LimitSubqueryOutputWalkertheQueryis cloned, but not the hints:73e68f3c7d/src/Tools/Pagination/LimitSubqueryOutputWalker.php (L108)Don't know if parameters also need to be cloned, as it is done in
73e68f3c7d/src/Tools/Pagination/Paginator.php (L183)