Create fake Data using Tinker
Created at: 2022-11-26 11:49:50 | Updated at: 2025-02-04 13:31:15
Tinker és una consola interactiva de Laravel basada en PsySH que permet executar comandes PHP directament en el teu projecte, sense necessitat de crear fitxers ni afegir codi temporalment.
És una eina molt potent per interactuar amb la base de dades, provar models, cridar funcions de Laravel i fer proves ràpides sense modificar el codi del projecte.
Pots accedir a Tinker executant:
php artisan tinker
Un cop dins, pots executar codi PHP directament com si estiguessis programant en un fitxer.
Pots veure si la connexió a la base de dades funciona bé executant:
DB::connection()->getPdo();
Si no hi ha errors, vol dir que la base de dades està configurada correctament.
Per exemple, si vols veure tots els usuaris de la taula users, pots executar:
use App\Models\User; User::all();
Si vols veure només un usuari concret (per exemple, amb ID 3):
User::find(3);
Si vols afegir un usuari manualment:
User::create([ 'name' => 'Joan', 'email' => 'joan@example.com', 'password' => bcrypt('123456'), ]);
Això afegirà un usuari a la base de dades.
Si tens spatie/laravel-permission instal·lat i vols assignar un rol a un usuari:
use Spatie\Permission\Models\Role; use App\Models\User; $adminRole = Role::create(['name' => 'admin']); $user = User::find(3); $user->assignRole('admin');
Amb això, l’usuari amb ID 3 tindrà el rol d’admin.
Si vols actualitzar el nom d’un usuari:
$user = User::find(3); $user->name = 'Pere'; $user->save();
Si vols esborrar un usuari:
User::find(3)->delete();
⚠️ Atenció! Aquest usuari s'eliminarà definitivament de la base de dades.
✅ Provar codi ràpidament sense modificar arxius
✅ Executar consultes a la base de dades fàcilment
✅ Fer proves amb models i funcions de Laravel
✅ Depurar errors i comprovar configuracions
✅ Assignar rols i permisos manualment
És una eina molt útil per a fer proves sense tocar la interfície web i per corregir errors o modificar dades directament des de la consola.
No valid image directory found or the category is not valid for the gallery.