Factorías en Laravel 8

Fecha de publicación: septiembre 8, 2020

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on google
Google+
Share on whatsapp
WhatsApp
Share on email
Email

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 Database\Factories. 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.

 

¿Quieres acceder a más de 150 cursos de PHP y JavaScript?

¿Quieres ganar tiempo en tus desarrollos con nuestros proyectos descargables?


Vue, Laravel, Inertia, NodeJS, WordPress, Serverless, React Native, Amazon Web Services y mucho más

Hazte Premium y consigue acceso completo
Cursosdesarrolloweb ©. Todos los derechos reservados.

Login

Create an Account Back to login/register