Fix foreign key = 0 not fetching related object #1639
Merged
Conversation
src/relation.js
Outdated
@@ -411,7 +411,7 @@ export default RelationBase.extend({ | |||
const formatted = model.format(_.clone(model.attributes)); | |||
groupedKey = formatted[keyColumn]; | |||
} | |||
if (groupedKey) { | |||
if (groupedKey !== null) { |
ricardograca
Sep 4, 2017
Member
Is there any possibility of groupedKey
ever being undefined
?
Is there any possibility of groupedKey
ever being undefined
?
I just added a test for this in #1735. |
ricardograca
referenced
this pull request
Jan 7, 2018
Add test to check ability to eager load with foreign key with value 0
Merged
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Fix foreign key = 0 not fetching related object
Introduction
Fixes fetching relations with foreign key = 0.
Currently inside eagerPair-method the foreign keys are just checked for being falsy,
leaving the related instance out of the parent's relations if the FK is 0.
Fixes #1685.
Motivation
This PR enables fetching relations with value 0 as the foreign key.
Proposed solution
Compare the
groupedKey
-variable (which stores the foreign key) through lodashesisNil
-method inside the if-block, instead of just checking for a falsy value. This way 0 is a valid value, butnull
/undefined
values are not.