Support both customized namespace factories as well as default resolvable ones (#1201)

This commit is contained in:
wimski
2021-04-02 16:32:13 +02:00
committed by GitHub
parent c8ebf563a0
commit 2f61602e7a
7 changed files with 129 additions and 47 deletions
+5 -6
View File
@@ -1091,18 +1091,17 @@ class ModelsCommand extends Command
return;
}
$traits = class_uses(get_class($model), true);
$modelName = get_class($model);
$traits = class_uses($modelName, true);
if (!in_array('Illuminate\\Database\\Eloquent\\Factories\\HasFactory', $traits)) {
return;
}
$modelName = get_class($model);
$modelBaseName = class_basename($modelName);
$factory = "\Database\Factories\\{$modelBaseName}Factory";
if ($modelName::newFactory()) {
$factory = get_class($modelName::newFactory());
} else {
$factory = Factory::resolveFactoryName($modelName);
}
$factory = '\\' . trim($factory, '\\');