La colonne tutorielle suivante de Laravel vous présentera l'utilisation du seeder par Laravel pour remplir les données dans le tableau de données. J'espère que cela sera utile à tout le monde !
Laravel utilise seeder pour remplir les données dans la table de données
Tout d'abord, exécutez la commande php artisan et diverses instructions de commande apparaîtront
php artisan make:seeder
Selon La commande demande de créer le fichier correspondant comme indiqué ci-dessous
php artisan make:seeder TestSeeder
Tout d'abord, je crée une table de test comme indiqué ci-dessous
Le contenu du fichier TestSeeder.php est le suivant
<?php use Illuminate\Database\Seeder; class TestSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { DB::table('test')->insert([ 'name' => str_random(10), 'sex' => rand(1,2), // 1男 2女 'email' => str_random(10).'@qq.com', 'password' => bcrypt('123456'), // bcrypt为hash加密 ]); } }
Exécuter Utilisez la commande suivante pour remplir de fausses données
php artisan db:seed --class=TestSeeder
Chaque fois que vous en ajoutez une, vous devrez exécuter une commande. Ce sera très gênant. Il est préférable d'écrire une boucle for pour insérer une. nouveau
for ($x=0; $x<=10; $x++) { DB::table('test')->insert([ 'name' => str_random(10), 'sex' => rand(1,2), // 1男 2女 'email' => str_random(10).'@qq.com', 'password' => bcrypt('123456'), // bcrypt为hash加密 ]); }
Les données de la base de données sont affichées ci-dessous :
Si vous devez ajouter les données de test de plusieurs tables en même temps, vous devez ajouter DatabaseSeeder.php :
<?php use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { public function run() { // $this->call(UsersTableSeeder::class); $this->call(CreateDepartmentsSeeder::class); $this->call(CreateUsersSeeder::class); $this->call(CreateWagesSeeder::class); } }
Exécutez la commande suivante pour remplir les données de test de plusieurs tables
php artisan db:seed
当我们执行 php artisan db:seed 提示 class UserTableSeeder does not exist 这个错误基本是出现在不经过composer的时候出现的,至于为什么会出现呢? 1.可能是你执行php artisan make:seeder UserTableSeeder 的时候,他没有把UserTableSeeder.php 写到自动加载里面去 2.你是复制过来的 解决方法: composer dump-autoload
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!