File tree 2 files changed +20
-1
lines changed
src/Illuminate/Database/Eloquent/Concerns
tests/Integration/Database
2 files changed +20
-1
lines changed Original file line number Diff line number Diff line change @@ -1088,7 +1088,11 @@ public function relationLoaded($key)
1088
1088
if ($ nestedRelation !== null ) {
1089
1089
$ relatedModels = is_iterable ($ relatedModels = $ this ->$ relation )
1090
1090
? $ relatedModels
1091
- : [$ relatedModels ];
1091
+ : array_filter ([$ relatedModels ]);
1092
+
1093
+ if (count ($ relatedModels ) === 0 ) {
1094
+ return false ;
1095
+ }
1092
1096
1093
1097
foreach ($ relatedModels as $ related ) {
1094
1098
if (! $ related ->relationLoaded ($ nestedRelation )) {
Original file line number Diff line number Diff line change @@ -135,6 +135,21 @@ public function testWhenParentRelationIsASingleInstance()
135
135
$ this ->assertTrue ($ model ->relationLoaded ('two.one ' ));
136
136
$ this ->assertTrue ($ model ->two ->one ->is ($ one ));
137
137
}
138
+
139
+ public function testWhenRelationIsNull ()
140
+ {
141
+ $ one = One::query ()->create ();
142
+ $ two = $ one ->twos ()->create ();
143
+ $ three = $ two ->threes ()->create ();
144
+
145
+ $ model = Three::query ()
146
+ ->with ('one.twos ' )
147
+ ->find ($ three ->id );
148
+
149
+ $ this ->assertTrue ($ model ->relationLoaded ('one ' ));
150
+ $ this ->assertNull ($ model ->one );
151
+ $ this ->assertFalse ($ model ->relationLoaded ('one.twos ' ));
152
+ }
138
153
}
139
154
140
155
class One extends Model
You can’t perform that action at this time.
0 commit comments