From 25a965aaf6c998ed17e69229c2cdc2b1a70712af Mon Sep 17 00:00:00 2001 From: Joe Mancuso Date: Sun, 1 Sep 2024 10:36:10 -0400 Subject: [PATCH 1/3] fixed has many --- src/masoniteorm/relationships/HasMany.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/masoniteorm/relationships/HasMany.py b/src/masoniteorm/relationships/HasMany.py index a940df04..cc73be04 100644 --- a/src/masoniteorm/relationships/HasMany.py +++ b/src/masoniteorm/relationships/HasMany.py @@ -28,5 +28,5 @@ def set_keys(self, owner, attribute): def register_related(self, key, model, collection): model.add_relation( - {key: collection.get(getattr(model, self.local_key)) or Collection()} + {key: collection.where(self.foreign_key, getattr(model, self.local_key)) or Collection()} ) From 8c9a6bb0b4dd01ac9ed86827c111697f8c4868f9 Mon Sep 17 00:00:00 2001 From: Joe Mancuso Date: Sun, 1 Sep 2024 11:09:35 -0400 Subject: [PATCH 2/3] fixed querybuilder --- src/masoniteorm/query/QueryBuilder.py | 6 +++--- src/masoniteorm/relationships/HasMany.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/masoniteorm/query/QueryBuilder.py b/src/masoniteorm/query/QueryBuilder.py index 45262cbd..4fe68c16 100644 --- a/src/masoniteorm/query/QueryBuilder.py +++ b/src/masoniteorm/query/QueryBuilder.py @@ -1955,11 +1955,11 @@ def _register_relationships_to_model( map_related = self._map_related(related_result, related) for model in hydrated_model: if isinstance(related_result, Collection): - related.register_related(relation_key, model, related_result) + related.register_related(relation_key, model, map_related) else: - model.add_relation({relation_key: related_result or None}) + model.add_relation({relation_key: map_related or None}) else: - hydrated_model.add_relation({relation_key: related_result or None}) + hydrated_model.add_relation({relation_key: map_related or None}) return self def _map_related(self, related_result, related): diff --git a/src/masoniteorm/relationships/HasMany.py b/src/masoniteorm/relationships/HasMany.py index cc73be04..a940df04 100644 --- a/src/masoniteorm/relationships/HasMany.py +++ b/src/masoniteorm/relationships/HasMany.py @@ -28,5 +28,5 @@ def set_keys(self, owner, attribute): def register_related(self, key, model, collection): model.add_relation( - {key: collection.where(self.foreign_key, getattr(model, self.local_key)) or Collection()} + {key: collection.get(getattr(model, self.local_key)) or Collection()} ) From bff9d8bcaccd9e9652c85f2133fbfe49b26e371c Mon Sep 17 00:00:00 2001 From: Joe Mancuso Date: Sun, 1 Sep 2024 11:34:14 -0400 Subject: [PATCH 3/3] fixed eager load --- src/masoniteorm/query/QueryBuilder.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/masoniteorm/query/QueryBuilder.py b/src/masoniteorm/query/QueryBuilder.py index 4fe68c16..4e9a663b 100644 --- a/src/masoniteorm/query/QueryBuilder.py +++ b/src/masoniteorm/query/QueryBuilder.py @@ -1959,7 +1959,7 @@ def _register_relationships_to_model( else: model.add_relation({relation_key: map_related or None}) else: - hydrated_model.add_relation({relation_key: map_related or None}) + hydrated_model.add_relation({relation_key: related_result or None}) return self def _map_related(self, related_result, related):