From 2c194a853fcb3cc1f82d8ab6fb8cc4547343a8b4 Mon Sep 17 00:00:00 2001 From: Jacob Baker-Kretzmar Date: Tue, 8 Dec 2020 16:35:32 -0500 Subject: [PATCH] Fix passing model instances to factories --- src/Illuminate/Database/Eloquent/Factories/Factory.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Illuminate/Database/Eloquent/Factories/Factory.php b/src/Illuminate/Database/Eloquent/Factories/Factory.php index e383bf6fb135..36f3dad84a8a 100644 --- a/src/Illuminate/Database/Eloquent/Factories/Factory.php +++ b/src/Illuminate/Database/Eloquent/Factories/Factory.php @@ -492,7 +492,11 @@ public function hasAttached($factory, $pivot = [], $relationship = null) 'has' => $this->has->concat([new BelongsToManyRelationship( $factory, $pivot, - $relationship ?: Str::camel(Str::plural(class_basename($factory->modelName()))) + $relationship ?: Str::camel(Str::plural(class_basename( + $factory instanceof Factory + ? $factory->modelName() + : Collection::wrap($factory)->first() + ))) )]), ]); } @@ -508,7 +512,9 @@ public function for($factory, $relationship = null) { return $this->newInstance(['for' => $this->for->concat([new BelongsToRelationship( $factory, - $relationship ?: Str::camel(class_basename($factory->modelName())) + $relationship ?: Str::camel(class_basename( + $factory instanceof Factory ? $factory->modelName() : $factory + )) )])]); }