-
-
Notifications
You must be signed in to change notification settings - Fork 271
Fix Nested Eager Loading on Union Types #1189
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
Hi @mfn 👋, I need some help regarding interface types. In the new logic, I’m using the After changing the logic for handling
Thanks in advance for your help! 🙏 |
8d56f19 to
6cb4636
Compare
62ef432 to
f63ee9d
Compare
0159edb to
934fe4f
Compare
|
@mfn |
Summary
Hi,
In this pull request, I’ve added support for eager loading nested relations within Union types when using the
SelectFieldsclass.Example
Consider a scenario where you have a
Commentmodel that is morphable to bothPostandProductmodels.Each of these models has a
filerelation, and eachfilebelongs to afolder.Previously, when selecting nested relations for different Union types, the eager loading for deeper relations (like
file.folder) was ignored, leading to N+1 query issues.Reference: SelectFields.php#L254-L258
Example Query
{ comments { id title body commentable { ... on Post { id title file { id name path folder { id name } } } ... on Product { id name price file { id name path folder { id name } } } } } }In the above query, the
fileandfolderrelations for bothPostandProductmodels were not properly eager-loaded, resulting in multiple unnecessary queries.Fix
This pull request resolves the issue by leveraging Constrained Eager Loading of MorphTo Relationships, ensuring that nested relations within Union types are loaded efficiently without N+1 problems.
Type of change
Checklist
CHANGELOG.mdentryREADME.mdif neededcomposer fix-style