Laravel ialah rangka kerja PHP popular yang menyediakan banyak fungsi dan alatan berguna, salah satu ciri penting ialah mengisi data. Pengisian data merujuk kepada pengisian data dalam jadual pangkalan data dengan beberapa nilai yang telah ditetapkan untuk ujian dan pembangunan. Artikel ini akan memperkenalkan cara menggunakan fungsi data isian Laravel.
1. Persediaan
Sebelum menggunakan fungsi pengisian data Laravel, anda perlu mencipta jadual pangkalan data dan model Eloquent. Berikut ialah contoh mudah:
php artisan make:model User -m
Arahan di atas akan mencipta model app
dan fail pemindahan pangkalan data User
dalam direktori xxxx_xx_xx_xxxxxx_create_users_table.php
. Kita perlu mentakrifkan struktur jadual dalam fail pemindahan:
public function up() { Schema::create('users', function (Blueprint $table) { $table->bigIncrements('id'); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); $table->timestamps(); }); }
dan kemudian jalankan pemindahan pangkalan data:
php artisan migrate
Ini akan mencipta jadual data bernama users
.
2. Mengisi data
Laravel menyediakan perintah db:seed
untuk mengisi data. Kita boleh mencipta kelas Seeder dalam direktori database/seeds
, mewarisi kelas IlluminateDatabaseSeeder
dan melaksanakan kaedah run
.
Berikut ialah contoh mudahUserSeeder.php
:
use Illuminate\Database\Seeder; use App\User; class UserSeeder extends Seeder { public function run() { factory(User::class, 50)->create(); } }
Kod di atas menggunakan corak kilang Laravel untuk menjana 50 User
model dan menyimpannya ke dalam pangkalan data.
Dalam kaedah run
, kita boleh menggunakan pembina pertanyaan Laravel dan model Eloquent untuk beroperasi pada pangkalan data. Dalam contoh ini, kami menggunakan fungsi factory
untuk mencipta 50 contoh model User
dan menyimpannya ke pangkalan data.
3. Panggil Seeder
Selepas mencipta kelas Seeder, kita perlu memanggilnya untuk mengisi data. Kita boleh memanggil semua data yang perlu diisi dalam fail database/seeds/DatabaseSeeder.php
. Kelas ini ialah seeder utama, yang digunakan untuk memanggil kelas seeder lain.
use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { public function run() { $this->call(UserSeeder::class); } }
Selepas memanggil kelas UserSeeder
, kita boleh melaksanakan perintah db:seed
melalui baris arahan untuk mengisi data:
php artisan db:seed
Arahan ini akan mencari semua secara automatik menentukan kelas Seeder
dan menjalankan kaedah run
mereka.
4. Gunakan Kilang
Dalam contoh di atas, kami menggunakan corak kilang Laravel untuk menjana 50 User
contoh model. Corak kilang Laravel boleh membantu kami menjana data yang diperlukan untuk ujian dan pembangunan dengan mudah.
Kita boleh mencipta model menggunakan kaedah make
dan create
. Kaedah make
digunakan untuk mencipta contoh model sementara yang tidak disimpan ke pangkalan data, dan kaedah create
digunakan untuk mencipta tika model yang disimpan ke pangkalan data.
Dalam Laravel, kita boleh menggunakan kelas Factory
untuk mentakrif, mendaftar dan menggunakan kilang. Penggunaan kelas Factory
adalah sangat mudah Kita hanya perlu mencipta fail kilang dalam direktori database/factories
dan mentakrifkan model dan atributnya melalui kaedah define
. Berikut ialah contoh mudah UserFactory.php
:
use Faker\Generator as Faker; use App\User; $factory->define(User::class, function (Faker $faker) { return [ 'name' => $faker->name, 'email' => $faker->unique()->safeEmail, 'password' => bcrypt('password'), ]; });
Dalam contoh ini, kami menggunakan kelas Faker
untuk menjana data model rawak untuk mensimulasikan data pengguna sebenar. Kilang ini mentakrifkan tiga atribut: name
, email
dan password
.
Apabila kita perlu menggunakan kilang ini, kita boleh menggunakan kod berikut:
use App\User; $user = factory(User::class)->create();
Ini akan mencipta contoh model User
baharu dan menyimpannya ke pangkalan data. Kami juga boleh menggunakan kaedah make
untuk mencipta contoh model yang tidak disimpan ke pangkalan data:
use App\User; $user = factory(User::class)->make();
Tata model ini akan mengandungi nilai sifat yang dijana secara rawak, yang boleh kami gunakan dalam ujian dan pembangunan.
5. Ringkasan
Laravel menyediakan fungsi pengisian data yang mudah. Kami boleh menggunakan Seeder untuk menjana data ujian dan menggunakan mod kilang untuk menjana contoh model. Dengan ciri ini, kami boleh mengisi jadual pangkalan data dengan mudah untuk ujian dan pembangunan yang mudah.
Atas ialah kandungan terperinci Cara menggunakan fungsi data isian Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!