
Adquiere este curso para tener acceso a todas las lecciones
Comprar curso104. Sequences en factories
En este capítulo, descubre cómo utilizar sequences en factories de Laravel 10. Aprende cómo las sequences pueden generar automáticamente valores únicos para campos como el correo electrónico y el nombre de usuario en tus factories.
1 comentarios
Inicia sesión para comentar
Comentarios:
-
Victor Arana Flores hace 2 días Destacado
En este capítulo, exploraremos cómo utilizar sequences en factories de Laravel 10. Las sequences son útiles cuando necesitas generar automáticamente valores únicos para campos como el correo electrónico y el nombre de usuario en tus factories.
Las sequences se pueden utilizar en cualquier campo de tu modelo que necesite un valor único y constante. Puedes definir una sequence en tu factory utilizando el método sequence en lugar del método state:
$factory->define(App\User::class, function (Faker\Generator $faker) { return [ 'name' => $faker->name, 'email' => $faker->unique()->safeEmail, 'password' => bcrypt('secret'), 'remember_token' => str_random(10), ]; }); $factory->defineAs(App\User::class, 'admin', function ($faker) use ($factory) { static $password; return [ 'name' => $faker->name, 'email' => $factory->sequence(function ($i) { return 'admin'.$i.'@example.com'; }), 'password' => $password ?: $password = bcrypt('secret'), 'remember_token' => str_random(10), ]; });
En este ejemplo, hemos creado una sequence para generar correos electrónicos únicos para cada usuario administrador. La sequence se define dentro del factory utilizando una función anónima que toma un parámetro $i que es un número de secuencia.
Para utilizar la sequence en tu factory, simplemente llama a la función de la sequence dentro del campo que deseas que tenga un valor único, como en el campo 'email' en este ejemplo.
En resumen, las sequences son una forma útil de generar valores únicos automáticamente en factories de Laravel. Se pueden utilizar en cualquier campo que necesite un valor único y constante y se definen utilizando una función anónima que toma un parámetro $i que es un número de secuencia.