Factory - Laravel 8x
Boa noite Professor, tudo bom ?
estou seguindo o curso laravel 6x porem utilizo o laravel 8x.
Seguindo a estrutura da aula sobre factorys e criação de registros fake para testes em banco percebi que o Lara nao reconheçe a função factory do laravel 8x, tentei fazer com a documentação do laravel e nao consegui. Voce teria alguma sugestão em que eu possa simular novamente ?
Muito Obrigado.
Bom dia Professor tudo bem ?
De novo quebrando estou quebrando a cabeça rsrs
Ao realizar o comando "php artisan db:seed --class=ProductTableSeeder"
Obtenho a seguinte resposta :
QUOTE
Error
Class 'Database\Factories\ProductsFactory' not found
at vendor/laravel/framework/src/Illuminate/Database/Eloquent/Factories/Factory.php:721
717▕ public static function factoryForModel(string $modelName)
718▕ {
719▕ $factory = static::resolveFactoryName($modelName);
720▕
➜ 721▕ return $factory::new();
722▕ }
723▕
724▕ /**
725▕ * Specify the callback that should be invoked to guess factory names based on dynamic relationship names.
+1 vendor frames
2 database/seeders/ProductTableSeeder.php:17
App\Models\Products::factory()
+22 vendor frames
25 artisan:37
Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
UNQUOTE
Analisando o erro, vejo que ele nao encontra o ProductsFactory, de fato ele nao vai encontrar porque nao existe mesmo. Pois esta nomeado como Product (no singular) e mesmo atualizando o composer pelo dump auto-load ele insiste em procurar essa factory.
tentei de tudo e nao consegui resolver, chega uma hora que até irrita! kkk
poderia me dar uma mão ?
abaixo segue codigo no GIT ... Mais uma vez... meu muito obrigado!
https://github.com/phelipestering/CURSO-LARAVEL
Olá, Phelipe!
Tudo bem?
O comando está correto:
php artisan db:seed --class=ProductTableSeeder
Notei que o seu model está fora do padrão de nomes do Laravel "Products", renomeia o arquivo + nome da classe para "Product", e tente novamente.
Boa professor!
deu tudo certo e fiz mais alguns testes... Muito Obrigado de novo!
Só mais uma pergunta, quando vc fala que "esta fora do padrao de nomes do Laravel" nós temos que criar nossas factories de acordo com um padrão já pre-determinado pelo FrameWork?
Vamos em frente!
Sim, é recomendado trabalhar com padrões de nomes amigo, veja algumas dicas: https://www.instagram.com/especializati/
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!