File tree Expand file tree Collapse file tree 2 files changed +14
-4
lines changed
src/Illuminate/Database/Eloquent/Factories
types/Database/Eloquent/Factories Expand file tree Collapse file tree 2 files changed +14
-4
lines changed Original file line number Diff line number Diff line change @@ -708,7 +708,7 @@ public function modelName()
708708 /**
709709 * Specify the callback that should be invoked to guess model names based on factory names.
710710 *
711- * @param callable(): class-string<\Illuminate\Database\Eloquent\Model|TModel> $callback
711+ * @param callable(self ): class-string<\Illuminate\Database\Eloquent\Model|TModel> $callback
712712 * @return void
713713 */
714714 public static function guessModelNamesUsing (callable $ callback )
@@ -743,7 +743,7 @@ public static function factoryForModel(string $modelName)
743743 /**
744744 * Specify the callback that should be invoked to guess factory names based on dynamic relationship names.
745745 *
746- * @param callable(): class-string<\Illuminate\Database\Eloquent\Model|TModel > $callback
746+ * @param callable(class-string<\Illuminate\Database\Eloquent\Model> ): class-string<\Illuminate\Database\Eloquent\Factories\Factory > $callback
747747 * @return void
748748 */
749749 public static function guessFactoryNamesUsing (callable $ callback )
Original file line number Diff line number Diff line change @@ -183,12 +183,22 @@ public function definition()
183183// assertType('class-string<User>', $factory->modelName());
184184assertType ('class-string<Illuminate\Database\Eloquent\Model> ' , $ factory ->modelName ());
185185
186- $ factory ->guessModelNamesUsing (function () {
187- return User::class;
186+ Factory::guessModelNamesUsing (function (Factory $ factory ) {
187+ return match (true ) {
188+ $ factory instanceof UserFactory => User::class,
189+ default => throw new LogicException ('Unknown factory ' ),
190+ };
188191});
189192
190193$ factory ->useNamespace ('string ' );
191194
192195assertType (Factory::class, $ factory ::factoryForModel (User::class));
193196
194197assertType ('class-string<Illuminate\Database\Eloquent\Factories\Factory> ' , $ factory ->resolveFactoryName (User::class));
198+
199+ Factory::guessFactoryNamesUsing (function (string $ modelName ) {
200+ return match ($ modelName ) {
201+ User::class => UserFactory::class,
202+ default => throw new LogicException ('Unknown factory ' ),
203+ };
204+ });
You can’t perform that action at this time.
0 commit comments