Factorías en Laravel 8

arrow_back Blog

Las factorías en Laravel 8 han sufrido un cambio, ahora, en lugar de utilizar el objeto $factory cómo lo hacíamos en versiones anteriores, pasan a ser clases con la siguiente definición:

De esta forma, ahora deberemos decirle a la clase Factory qué modelo debe utilizar y definir el método definition haciendo un return de los datos que representen un objeto de tipo usuario en este caso, todo ello accediendo directamente a $this->faker.

Utilizar las nuevas Factorías en Laravel 8

Para utilizar las nuevas factorías en Laravel 8 desde los Seeds simplemente debemos hacer lo siguiente:

Factorías en diferentes Namespaces

Un problema con el que nos podemos encontrar es que nuestras factorías estén en otro namespace en lugar de DatabaseFactories. Para solucionarlo, simplemente deberíamos sobrescribir el método newFactory de nuestro modelo de la siguiente forma, ejemplo sacado de un proyecto Multi Tenancy:

Con todo lo anterior tendríamos nuestro proyecto funcionando con factorías de la misma forma que lo hacíamos en versiones anteriores.

Cursosdesarrolloweb Cursosdesarrolloweb

Cursosdesarrolloweb es una plataforma educativa con cursos y tutoriales en texto y vídeo.

Términos y condiciones Política de privacidad Formulario de contacto

Copyright 2024 © Todos los derechos reservados.

Contacto