diff --git a/src/Eloquent/HybridRelations.php b/src/Eloquent/HybridRelations.php index e6c5d3352..2652488c0 100644 --- a/src/Eloquent/HybridRelations.php +++ b/src/Eloquent/HybridRelations.php @@ -16,9 +16,10 @@ trait HybridRelations { /** * Define a one-to-one relationship. - * @param string $related - * @param string $foreignKey - * @param string $localKey + * + * @param string $related + * @param string $foreignKey + * @param string $localKey * @return \Illuminate\Database\Eloquent\Relations\HasOne */ public function hasOne($related, $foreignKey = null, $localKey = null) @@ -39,11 +40,12 @@ public function hasOne($related, $foreignKey = null, $localKey = null) /** * Define a polymorphic one-to-one relationship. - * @param string $related - * @param string $name - * @param string $type - * @param string $id - * @param string $localKey + * + * @param string $related + * @param string $name + * @param string $type + * @param string $id + * @param string $localKey * @return \Illuminate\Database\Eloquent\Relations\MorphOne */ public function morphOne($related, $name, $type = null, $id = null, $localKey = null) @@ -64,9 +66,10 @@ public function morphOne($related, $name, $type = null, $id = null, $localKey = /** * Define a one-to-many relationship. - * @param string $related - * @param string $foreignKey - * @param string $localKey + * + * @param string $related + * @param string $foreignKey + * @param string $localKey * @return \Illuminate\Database\Eloquent\Relations\HasMany */ public function hasMany($related, $foreignKey = null, $localKey = null) @@ -87,11 +90,12 @@ public function hasMany($related, $foreignKey = null, $localKey = null) /** * Define a polymorphic one-to-many relationship. - * @param string $related - * @param string $name - * @param string $type - * @param string $id - * @param string $localKey + * + * @param string $related + * @param string $name + * @param string $type + * @param string $id + * @param string $localKey * @return \Illuminate\Database\Eloquent\Relations\MorphMany */ public function morphMany($related, $name, $type = null, $id = null, $localKey = null) @@ -117,10 +121,11 @@ public function morphMany($related, $name, $type = null, $id = null, $localKey = /** * Define an inverse one-to-one or many relationship. - * @param string $related - * @param string $foreignKey - * @param string $otherKey - * @param string $relation + * + * @param string $related + * @param string $foreignKey + * @param string $otherKey + * @param string $relation * @return \Illuminate\Database\Eloquent\Relations\BelongsTo */ public function belongsTo($related, $foreignKey = null, $otherKey = null, $relation = null) @@ -160,10 +165,11 @@ public function belongsTo($related, $foreignKey = null, $otherKey = null, $relat /** * Define a polymorphic, inverse one-to-one or many relationship. - * @param string $name - * @param string $type - * @param string $id - * @param string $ownerKey + * + * @param string $name + * @param string $type + * @param string $id + * @param string $ownerKey * @return \Illuminate\Database\Eloquent\Relations\MorphTo */ public function morphTo($name = null, $type = null, $id = null, $ownerKey = null) @@ -174,10 +180,10 @@ public function morphTo($name = null, $type = null, $id = null, $ownerKey = null if ($name === null) { [$current, $caller] = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2); - $name = Str::snake($caller['function']); + $name = $caller['function']; } - [$type, $id] = $this->getMorphs($name, $type, $id); + [$type, $id] = $this->getMorphs(Str::snake($name), $type, $id); // If the type value is null it is probably safe to assume we're eager loading // the relationship. When that is the case we will pass in a dummy query as @@ -204,13 +210,14 @@ public function morphTo($name = null, $type = null, $id = null, $ownerKey = null /** * Define a many-to-many relationship. - * @param string $related - * @param string $collection - * @param string $foreignKey - * @param string $otherKey - * @param string $parentKey - * @param string $relatedKey - * @param string $relation + * + * @param string $related + * @param string $collection + * @param string $foreignKey + * @param string $otherKey + * @param string $parentKey + * @param string $relatedKey + * @param string $relation * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany */ public function belongsToMany( @@ -277,6 +284,7 @@ public function belongsToMany( /** * Get the relationship name of the belongs to many. + * * @return string */ protected function guessBelongsToManyRelation() diff --git a/tests/RelationsTest.php b/tests/RelationsTest.php index 59d0f2757..8b9c26173 100644 --- a/tests/RelationsTest.php +++ b/tests/RelationsTest.php @@ -370,21 +370,21 @@ public function testMorph(): void $this->assertEquals($photo->id, $client->photo->id); $photo = Photo::first(); - $this->assertEquals($photo->imageable->name, $user->name); + $this->assertEquals($photo->hasImage->name, $user->name); $user = User::with('photos')->find($user->_id); $relations = $user->getRelations(); $this->assertArrayHasKey('photos', $relations); $this->assertEquals(1, $relations['photos']->count()); - $photos = Photo::with('imageable')->get(); + $photos = Photo::with('hasImage')->get(); $relations = $photos[0]->getRelations(); - $this->assertArrayHasKey('imageable', $relations); - $this->assertInstanceOf(User::class, $photos[0]->imageable); + $this->assertArrayHasKey('hasImage', $relations); + $this->assertInstanceOf(User::class, $photos[0]->hasImage); $relations = $photos[1]->getRelations(); - $this->assertArrayHasKey('imageable', $relations); - $this->assertInstanceOf(Client::class, $photos[1]->imageable); + $this->assertArrayHasKey('hasImage', $relations); + $this->assertInstanceOf(Client::class, $photos[1]->hasImage); } public function testHasManyHas(): void diff --git a/tests/models/Client.php b/tests/models/Client.php index 2c1388a6c..65c5d81a0 100644 --- a/tests/models/Client.php +++ b/tests/models/Client.php @@ -20,7 +20,7 @@ public function users(): BelongsToMany public function photo(): MorphOne { - return $this->morphOne('Photo', 'imageable'); + return $this->morphOne('Photo', 'has_image'); } public function addresses(): HasMany diff --git a/tests/models/Photo.php b/tests/models/Photo.php index 8cb800922..05c06d443 100644 --- a/tests/models/Photo.php +++ b/tests/models/Photo.php @@ -11,7 +11,7 @@ class Photo extends Eloquent protected $collection = 'photos'; protected static $unguarded = true; - public function imageable(): MorphTo + public function hasImage(): MorphTo { return $this->morphTo(); } diff --git a/tests/models/User.php b/tests/models/User.php index 359f6d9fa..a753d2c9e 100644 --- a/tests/models/User.php +++ b/tests/models/User.php @@ -12,6 +12,7 @@ /** * Class User. + * * @property string $_id * @property string $name * @property string $email @@ -66,7 +67,7 @@ public function groups() public function photos() { - return $this->morphMany('Photo', 'imageable'); + return $this->morphMany('Photo', 'has_image'); } public function addresses()