Create fake Data using Tinker
Web 26/11/2022

Create fake Data using Tinker

Descobreix com generar dades de prova de manera ràpida i senzilla amb Tinker i els factories de Laravel. Ideal per a desenvolupadors que necessiten poblars bases de dades per a tests o prototips.

Esborrany generat amb DeepSeek API. (11/7/26 1:24)

Quan estem desenvolupant una aplicació, sovint necessitem dades de prova per a testejar funcionalitats o per a mostrar exemples en una demo. Laravel ofereix una eina molt potent per a això: Tinker, un REPL interactiu que ens permet executar codi PHP dins del context de l'aplicació. Combinat amb els factories i seeders, podem generar grans quantitats de dades de manera ràpida i estructurada.

Per començar, assegura't de tenir definits els factories dels teus models. Per exemple, si tens un model User, Laravel ja inclou un factory per defecte. Per a models personalitzats, pots crear factories amb l'ordre `php artisan make:factory ModelFactory --model=Model`. Un cop tinguis els factories, obre Tinker amb `php artisan tinker` i comença a crear dades.

Un exemple pràctic: suposem que tens un model Post amb una relació belongsTo a User. Pots crear 10 usuaris i per a cada usuari, 5 posts associats. A Tinker, escriuries: `User::factory()->count(10)->has(Post::factory()->count(5))->create()`. Això generarà 10 usuaris i 50 posts en una sola línia. Si necessites dades més específiques, pots modificar els factories per a definir valors personalitzats per a cada camp.

Tinker també et permet executar seeders existents. Per exemple, si tens un seeder DatabaseSeeder, pots executar-lo amb `php artisan db:seed` o, dins de Tinker, cridar `$this->call(DatabaseSeeder::class)`. Això és útil per a regenerar les dades de prova després d'una migració.

Recorda que les dades generades amb factories es basen en les definicions dels factories, que utilitzen la llibreria Faker per a generar valors aleatoris realistes. Pots personalitzar els factories per a adaptar-los a les teves necessitats, com ara generar noms d'usuaris específics o contingut de posts.

En conclusió, Tinker és una eina essencial per a qualsevol desenvolupador Laravel que necessiti crear dades de prova de manera àgil. Combina'l amb factories i seeders per a tenir un flux de treball eficient. Prova-ho al teu projecte i veuràs com et facilita la vida.

Enllaços d'interès