Skip to content

Commit

Permalink
If the preload fails, the intermediate association fields will also r…
Browse files Browse the repository at this point in the history
…emain nil (#198)
  • Loading branch information
youpy committed Aug 24, 2021
1 parent a63afed commit 9969cea
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 2 deletions.
2 changes: 1 addition & 1 deletion repository.go
Expand Up @@ -1079,7 +1079,7 @@ func (r repository) mapPreloadTargets(sl slice, path []string) (map[interface{}]
}
}
} else {
if doc, loaded := assocs.Document(); loaded {
if doc, loaded := assocs.LazyDocument(); loaded {
stack = append(stack, frame{
index: top.index + 1,
doc: doc,
Expand Down
3 changes: 2 additions & 1 deletion repository_test.go
Expand Up @@ -3252,6 +3252,7 @@ func TestRepository_Preload_nestedNullHasMany(t *testing.T) {
)

assert.Nil(t, repo.Preload(context.TODO(), &address, "user.transactions"))
assert.Nil(t, address.User)

adapter.AssertExpectations(t)
}
Expand Down Expand Up @@ -3323,7 +3324,7 @@ func TestRepository_Preload_nestedNullSliceHasMany(t *testing.T) {

assert.Nil(t, repo.Preload(context.TODO(), &addresses, "user.transactions"))
assert.Equal(t, transactions[:2], addresses[0].User.Transactions)
assert.Equal(t, []Transaction(nil), addresses[1].User.Transactions)
assert.Nil(t, addresses[1].User)
assert.Equal(t, transactions[2:], addresses[2].User.Transactions)

adapter.AssertExpectations(t)
Expand Down

0 comments on commit 9969cea

Please sign in to comment.