22
33namespace  MongoDB \Laravel \Eloquent ;
44
5+ use  Illuminate \Database \Eloquent \Model  as  EloquentModel ;
56use  Illuminate \Database \Eloquent \Relations \MorphOne ;
67use  Illuminate \Support \Str ;
8+ use  MongoDB \Laravel \Eloquent \Model  as  MongoDBModel ;
79use  MongoDB \Laravel \Helpers \EloquentBuilder ;
810use  MongoDB \Laravel \Relations \BelongsTo ;
911use  MongoDB \Laravel \Relations \BelongsToMany ;
@@ -21,15 +23,15 @@ trait HybridRelations
2123 /** 
2224 * Define a one-to-one relationship. 
2325 * 
24-  * @param string $related 
26+  * @param class- string<EloquentModel>  $related 
2527 * @param string $foreignKey 
2628 * @param string $localKey 
2729 * @return \Illuminate\Database\Eloquent\Relations\HasOne 
2830 */ 
2931 public  function  hasOne ($ related$ foreignKeynull , $ localKeynull )
3032 {
3133 // Check if it is a relation with an original model. 
32-  if  (! is_subclass_of ($ relatedModel ::class)) {
34+  if  (! is_subclass_of ($ relatedMongoDBModel ::class)) {
3335 return  parent ::hasOne ($ related$ foreignKey$ localKey
3436 }
3537
@@ -45,7 +47,7 @@ public function hasOne($related, $foreignKey = null, $localKey = null)
4547 /** 
4648 * Define a polymorphic one-to-one relationship. 
4749 * 
48-  * @param string $related 
50+  * @param class- string<EloquentModel>  $related 
4951 * @param string $name 
5052 * @param string $type 
5153 * @param string $id 
@@ -55,7 +57,7 @@ public function hasOne($related, $foreignKey = null, $localKey = null)
5557 public  function  morphOne ($ related$ name$ typenull , $ idnull , $ localKeynull )
5658 {
5759 // Check if it is a relation with an original model. 
58-  if  (! is_subclass_of ($ relatedModel ::class)) {
60+  if  (! is_subclass_of ($ relatedMongoDBModel ::class)) {
5961 return  parent ::morphOne ($ related$ name$ type$ id$ localKey
6062 }
6163
@@ -71,15 +73,15 @@ public function morphOne($related, $name, $type = null, $id = null, $localKey =
7173 /** 
7274 * Define a one-to-many relationship. 
7375 * 
74-  * @param string $related 
76+  * @param class- string<EloquentModel>  $related 
7577 * @param string $foreignKey 
7678 * @param string $localKey 
7779 * @return \Illuminate\Database\Eloquent\Relations\HasMany 
7880 */ 
7981 public  function  hasMany ($ related$ foreignKeynull , $ localKeynull )
8082 {
8183 // Check if it is a relation with an original model. 
82-  if  (! is_subclass_of ($ relatedModel ::class)) {
84+  if  (! is_subclass_of ($ relatedMongoDBModel ::class)) {
8385 return  parent ::hasMany ($ related$ foreignKey$ localKey
8486 }
8587
@@ -95,7 +97,7 @@ public function hasMany($related, $foreignKey = null, $localKey = null)
9597 /** 
9698 * Define a polymorphic one-to-many relationship. 
9799 * 
98-  * @param string $related 
100+  * @param class- string<EloquentModel>  $related 
99101 * @param string $name 
100102 * @param string $type 
101103 * @param string $id 
@@ -105,7 +107,7 @@ public function hasMany($related, $foreignKey = null, $localKey = null)
105107 public  function  morphMany ($ related$ name$ typenull , $ idnull , $ localKeynull )
106108 {
107109 // Check if it is a relation with an original model. 
108-  if  (! is_subclass_of ($ relatedModel ::class)) {
110+  if  (! is_subclass_of ($ relatedMongoDBModel ::class)) {
109111 return  parent ::morphMany ($ related$ name$ type$ id$ localKey
110112 }
111113
@@ -126,7 +128,7 @@ public function morphMany($related, $name, $type = null, $id = null, $localKey =
126128 /** 
127129 * Define an inverse one-to-one or many relationship. 
128130 * 
129-  * @param string $related 
131+  * @param class- string<EloquentModel>  $related 
130132 * @param string $foreignKey 
131133 * @param string $otherKey 
132134 * @param string $relation 
@@ -142,7 +144,7 @@ public function belongsTo($related, $foreignKey = null, $otherKey = null, $relat
142144 }
143145
144146 // Check if it is a relation with an original model. 
145-  if  (! is_subclass_of ($ relatedModel ::class)) {
147+  if  (! is_subclass_of ($ relatedMongoDBModel ::class)) {
146148 return  parent ::belongsTo ($ related$ foreignKey$ otherKey$ relation
147149 }
148150
@@ -211,7 +213,7 @@ public function morphTo($name = null, $type = null, $id = null, $ownerKey = null
211213 /** 
212214 * Define a many-to-many relationship. 
213215 * 
214-  * @param class-string<\Illuminate\Database\Eloquent\Model > $related 
216+  * @param class-string<EloquentModel > $related 
215217 * @param string|null $collection 
216218 * @param string|null $foreignKey 
217219 * @param string|null $otherKey 
@@ -237,7 +239,7 @@ public function belongsToMany(
237239 }
238240
239241 // Check if it is a relation with an original model. 
240-  if  (! is_subclass_of ($ relatedModel ::class)) {
242+  if  (! is_subclass_of ($ relatedMongoDBModel ::class)) {
241243 return  parent ::belongsToMany (
242244 $ related
243245 $ collection
@@ -306,7 +308,7 @@ protected function guessBelongsToManyRelation()
306308 */ 
307309 public  function  newEloquentBuilder ($ query
308310 {
309-  if  (is_subclass_of ($ this Model ::class)) {
311+  if  (is_subclass_of ($ this MongoDBModel ::class)) {
310312 return  new  Builder ($ query
311313 }
312314
0 commit comments