Rumah  >  Artikel  >  rangka kerja php  >  pengubahsuaian pangkalan data rangka kerja laravel

pengubahsuaian pangkalan data rangka kerja laravel

WBOY
WBOYasal
2023-05-20 13:40:38811semak imbas

Laravel ialah rangka kerja pembangunan aplikasi web PHP yang sangat popular yang menyediakan banyak fungsi dan alatan yang mudah untuk memudahkan proses pengubahsuaian pangkalan data. Dalam artikel ini, kami akan meneroka aspek berkaitan pengubahsuaian pangkalan data rangka kerja Laravel.

  1. Migrasi Pangkalan Data

Dalam rangka kerja Laravel, migrasi pangkalan data ialah alat yang mudah untuk memindahkan struktur pangkalan data daripada satu versi ke versi yang lain. Dengan menggunakan migrasi, anda boleh membuat dan mengubah suai jadual dengan mudah, menambah atau memadam lajur, menukar indeks dan kekangan, dan banyak lagi. Fail migrasi disimpan dalam direktori "pangkalan data/penghijrahan". Setiap fail migrasi mewakili operasi migrasi pangkalan data dan mengandungi kaedah "atas" dan "bawah" untuk mengubah suai pangkalan data. Dengan menjalankan perintah "php artisan migrate", semua operasi migrasi yang tertunggak akan dilakukan secara automatik.

Berikut ialah contoh fail migrasi untuk mencipta jadual "pengguna":

use IlluminateSupportFacadesSchema;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateDatabaseMigrationsMigration;

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}

Fail migrasi ini mencipta jadual "pengguna" menggunakan kaedah statik kelas "Skema", termasuk auto -kenaikan Lajur seperti ID, nama, e-mel unik, kata laluan dan cap masa. Dalam kaedah "bawah", jadual "pengguna" dipadamkan.

  1. Pengisian data

Dalam rangka kerja Laravel, pengisian data ialah proses menambah data ujian ke pangkalan data. Gunakan populasi data untuk memudahkan proses ujian dan menunjukkan operasi pangkalan data. Fail pengisian data disimpan dalam direktori "pangkalan data/benih". Jalankan arahan "php artisan db:seed" untuk mengisi data.

use IlluminateDatabaseSeeder;
use IlluminateSupportFacadesDB;
use IlluminateSupportFacadesHash;
use AppUser;

class UsersTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        DB::table('users')->delete();

        $users = array(
            array(
                'name' => 'admin',
                'email' => 'admin@admin.com',
                'password' => Hash::make('password'),
            ),
            array(
                'name' => 'user',
                'email' => 'user@user.com',
                'password' => Hash::make('password'),
            ),
        );

        foreach ($users as $user) {
            User::create($user);
        }
    }
}

Fail ini mencipta dua pengguna dan menambahkannya pada pangkalan data. Ambil perhatian bahawa lajur "kata laluan" disulitkan menggunakan kelas "Hash" Laravel. Selepas menjalankan arahan "php artisan db:seed", jadual "pengguna" akan mengandungi rekod untuk kedua-dua pengguna.

  1. Hubungan Model

Dalam rangka kerja Laravel, anda boleh mengakses data berkaitan dengan mudah dalam pangkalan data dengan mencipta perkaitan antara model. Terdapat tiga jenis perhubungan: satu-dengan-satu, satu-ke-banyak, dan banyak-ke-banyak. Selepas anda mentakrifkan perhubungan dalam model, anda boleh mengakses data berkaitan sama seperti model itu sendiri.

Contohnya, jika anda mempunyai model "Pengguna" dan model "Siaran", anda boleh menentukan perhubungan satu-ke-banyak dalam model "Pengguna" dan mengakses semua siaran yang dibuat oleh pengguna dengan mudah:

class User extends Model
{
    /**
     * Get the posts for the user.
     */
    public function posts()
    {
        return $this->hasMany(Post::class);
    }
}

$user = User::find(1);

foreach ($user->posts as $post) {
    echo $post->title;
}

Kod ini mendapatkan semula pengguna daripada pangkalan data dan kemudian mengakses semua siaran yang dibuat oleh pengguna tersebut melalui atribut "siaran" pengguna. Anda boleh menentukan hubungan songsang dalam model "Siaran" untuk mengakses maklumat pengguna yang menciptanya dengan mudah semasa mengakses siaran.

Ringkasan

Laravel menyediakan banyak alatan dan fungsi yang mudah untuk memudahkan proses pengubahsuaian pangkalan data. Dengan menggunakan migrasi, anda boleh membuat dan mengubah suai jadual dengan mudah, menambah atau memadam lajur, menukar indeks dan kekangan, dan banyak lagi. Gunakan populasi data untuk memudahkan proses ujian dan menunjukkan operasi pangkalan data. Dengan mewujudkan perkaitan antara model, data berkaitan dalam pangkalan data boleh diakses dengan mudah. Sebelum anda mula membuat pengubahsuaian pangkalan data, pastikan anda membuat sandaran data penting dan teruskan dengan berhati-hati.

Atas ialah kandungan terperinci pengubahsuaian pangkalan data rangka kerja laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn