Skip to content

Merge 3.6.x into 3.7.x - #12596

Merged
derrabus merged 8 commits into
doctrine:3.7.xfrom
derrabus:3.7.x
Sep 3, 2026
Merged

derrabus merged 8 commits into
doctrine:3.7.xfrom
derrabus:3.7.x

Conversation

@derrabus

@derrabus derrabus commented Sep 3, 2026

Copy link
Copy Markdown
Member

No description provided.

Athorcis and others added 8 commits August 15, 2026 07:27
Loading an entity with an EAGER OneToMany from the second-level
cache schedules deferred batch collection loading, but
DefaultEntityHydrator never calls triggerEagerLoads(). If the
collection is initialized first (for example from the collection
cache) and a later hydration flushes deferred eager loads,
eagerLoadCollections() adds the same items again.

Skip deferred batching when HINT_CACHE_ENABLED is set so the
collection is loaded immediately (and can hit the collection
cache), and ignore already-initialized collections when flushing
deferred eager loads.

-----

Co-authored-by: Cursor <cursoragent@cursor.com>
…second-level-cache-double-hydrate

Fix EAGER collection duplicates with L2 cache
Clarified conditions for using Collection methods with extra lazy associations that won't initialize the Collection.
Update documentation for extra lazy associations
* 2.20.x:
  Fix deprecated is_a() calls (PHP 8.6) (doctrine#12594)
* 3.6.x:
  Skip installation of deepclone on PHP 8.6
  Fix deprecated is_a() calls (PHP 8.6) (doctrine#12594)
  Update documentation for extra lazy associations
  Fix EAGER collection duplicates with L2 cache
@derrabus
derrabus merged commit 16f1127 into doctrine:3.7.x Sep 3, 2026
132 checks passed
@derrabus
derrabus deleted the 3.7.x branch September 3, 2026 15:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants