Rumah  >  Artikel  >  rangka kerja php  >  Cara cepat melaksanakan pengisian data dalam laravel (menggunakan seeder)

Cara cepat melaksanakan pengisian data dalam laravel (menggunakan seeder)

藏色散人
藏色散人ke hadapan
2021-11-03 15:55:493515semak imbas

Lajur tutorial Laravel akan memperkenalkan anda kepada penggunaan seeder oleh laravel untuk mengisi data dalam jadual data. Saya harap ia akan membantu semua orang.

Laravel menggunakan seeder untuk mengisi data dalam jadual data

Saya akan menunjukkan kepada anda cara mengisi data dalam jadual data dengan cepat

Pertama sekali Apabila melaksanakan perintah php artisan, pelbagai arahan arahan akan muncul Cari

php artisan make:seeder

dan buat fail yang sepadan mengikut arahan arahan, seperti ditunjukkan di bawah .

php artisan make:seeder TestSeeder

Mula-mula saya buat jadual ujian seperti yang ditunjukkan di bawah

Kandungan fail TestSeeder.php adalah seperti berikut Seperti yang ditunjukkan

<?php

use Illuminate\Database\Seeder;

class TestSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        DB::table(&#39;test&#39;)->insert([
            &#39;name&#39; => str_random(10),
            &#39;sex&#39; => rand(1,2), // 1男 2女
            &#39;email&#39; => str_random(10).&#39;@qq.com&#39;,
            &#39;password&#39; => bcrypt(&#39;123456&#39;), // bcrypt为hash加密
        ]);
    }
}

laksanakan arahan berikut untuk mengisi data palsu

php artisan db:seed --class=TestSeeder


Setiap kali anda menambah item, anda perlu melaksanakan arahan, yang akan menyusahkan adalah lebih baik untuk menulis gelung for untuk memasukkan yang baharu pada a masa

for ($x=0; $x<=10; $x++) {
     DB::table(&#39;test&#39;)->insert([
          &#39;name&#39; => str_random(10),
          &#39;sex&#39; => rand(1,2), // 1男 2女
          &#39;email&#39; => str_random(10).&#39;@qq.com&#39;,
          &#39;password&#39; => bcrypt(&#39;123456&#39;), // bcrypt为hash加密
     ]);
}

Data dalam pangkalan data dipaparkan seperti berikut: >

Jika anda perlu menambah data ujian untuk berbilang jadual pada masa yang sama, anda perlu menambah dalam 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);
    }
}
Jalankan arahan berikut untuk mengisi data ujian berbilang jadual

php artisan db:seed
Alamat dokumen rasmi: https://laravel.com/docs/5.5/seeding#writing-seeders
当我们执行  php artisan db:seed 
提示 class UserTableSeeder does not exist

这个错误基本是出现在不经过composer的时候出现的,至于为什么会出现呢?
1.可能是你执行php artisan make:seeder UserTableSeeder 的时候,他没有把UserTableSeeder.php 写到自动加载里面去
2.你是复制过来的

解决方法: composer dump-autoload

Atas ialah kandungan terperinci Cara cepat melaksanakan pengisian data dalam laravel (menggunakan seeder). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:csdn.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam