Dalam beberapa tahun kebelakangan ini, Laravel telah menjadi peneraju dalam bidang pembangunan web, dan semakin ramai orang bersedia menggunakannya untuk mula membangunkan projek mereka sendiri. Kerana Laravel sangat fleksibel dan berskala. Walau bagaimanapun, apabila beroperasi pada pangkalan data, kita sering perlu mengubah suai struktur jadual, termasuk jenis medan, saiz, nilai lalai, dsb. Dalam artikel ini, kita akan membincangkan cara mengubah suai jenis medan dalam Laravel 5.4.
Pertama, kita perlu memahami asas Pembina Skema Laravel. Pembina Skema ialah komponen Laravel yang menyediakan cara mudah untuk mencipta dan mengubah suai struktur jadual pangkalan data. Di sini, kami akan menunjukkan menggunakan MySQL sebagai contoh.
Katakan kita mempunyai jadual pengguna (pengguna), yang mempunyai medan bernama "umur".
Langkah 1: Buat fail migrasi
Fail migrasi Laravel ialah "cetak biru" struktur jadual dalam pangkalan data. Kita perlu mencipta fail migrasi baharu untuk melengkapkan pengubahsuaian jenis medan.
Menggunakan alat baris arahan Artisan, kita boleh memasukkan arahan berikut:
php artisan make:migration modify_users_table --table=users
Arahan ini akan mencipta fail migrasi baharu bernama "modify_users_table". Kami perlu membuka fail dan menggunakan kod berikut untuk menulis logik migrasi dalam kaedah atas:
use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class ModifyUsersTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::table('users', function (Blueprint $table) { $table->string('age')->change(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::table('users', function (Blueprint $table) { $table->integer('age')->change(); }); } }
Dalam fail migrasi ini, kami menggunakan kaedah Skema::jadual untuk mengendalikan jadual pengguna. Objek Blueprint kemudiannya digunakan untuk mencipta definisi struktur baharu. Kemudian, kami menggunakan kaedah change() untuk mengubah suai jenis medan "umur". Kaedah ini akan memberitahu Laravel untuk menetapkan jenis data medan "umur" kepada jenis rentetan.
Perlu diingat bahawa jika kita menambah berbilang medan dalam fail pemindahan yang sama, kita boleh menggunakan berbilang kaedah change() untuk menukar jenis datanya satu demi satu.
Langkah 2: Jalankan fail migrasi
Sekarang kita telah menulis fail migrasi, kita boleh menjalankan perintah berikut untuk membenarkan proses Laravel berubah kepada jadual pengguna berdasarkan fail migrasi.
php artisan migrate
Arahan ini akan menjalankan semua fail migrasi yang belum dijalankan dan merekodkannya dalam jadual fail migrasi. Jadi, jika migrasi anda adalah yang pertama atau satu-satunya yang berjalan, anda tidak perlu menggunakan pilihan --pretend.
Langkah 3: Pengesahan
Selepas penghijrahan berjaya, kami boleh pergi ke pangkalan data untuk melihat struktur jadual pengguna bagi memastikan medan jenis data yang kami ubah suai telah berkuat kuasa. Pada pelayan MySQL, anda boleh menggunakan arahan berikut:
DESCRIBE users;
Arahan ini akan memaparkan struktur jadual pengguna dan medan jenis data yang kami ubah suai dalam fail migrasi. Jika pengubahsuaian berjaya, anda harus melihat bahawa jenisnya telah ditetapkan kepada jenis VARCHAR.
+-------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+----------------+ | id | int(10) | NO | PRI | NULL | auto_increment | | name | varchar(255) | NO | | NULL | | | age | varchar(255) | NO | | NULL | | +-------+--------------+------+-----+---------+----------------+
Ringkasan
Dalam Laravel, mengubah suai jenis data medan adalah perkara yang sangat mudah. Kami hanya perlu menulis fail migrasi baharu dan menggunakan API Schema Builder untuk melakukannya dengan mudah. Jika anda ingin menukar aspek lain dalam struktur jadual, anda boleh melakukannya dengan mudah dengan mengubah suai fail migrasi. Pendek kata, Laravel benar-benar alat yang berkuasa dalam pembangunan web Sama ada ia mengubah suai struktur jadual atau melaksanakan fungsi lain, ia boleh memudahkan anda untuk melaksanakannya.
Atas ialah kandungan terperinci Bagaimana untuk mengubah suai jenis medan dalam laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!