Skip to content

Commit 29426df

Browse files
committed
wip: hasmany performance fix
1 parent f963387 commit 29426df

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

src/masoniteorm/query/QueryBuilder.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1951,10 +1951,11 @@ def _register_relationships_to_model(
19511951
Returns:
19521952
self
19531953
"""
1954+
map_related = related_result.group_by(related.foreign_key)
19541955
if isinstance(hydrated_model, Collection):
19551956
for model in hydrated_model:
19561957
if isinstance(related_result, Collection):
1957-
related.register_related(relation_key, model, related_result)
1958+
related.register_related(relation_key, model, map_related)
19581959
else:
19591960
model.add_relation({relation_key: related_result or None})
19601961
else:

src/masoniteorm/relationships/HasMany.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,5 @@ def set_keys(self, owner, attribute):
2828

2929
def register_related(self, key, model, collection):
3030
model.add_relation(
31-
{key: collection.where(self.foreign_key, getattr(model, self.local_key))}
31+
{key: collection.get(getattr(model, self.local_key))}
3232
)

0 commit comments

Comments
 (0)