Rumah > Soal Jawab > teks badan
Saya sedang membangunkan web menggunakan Laravel 9. Saya menggunakan arahan sail php make:migration add_bought_to_products_table
在产品表中添加一个名为“bought”的布尔列。当尝试使用 Eloquent 帮助程序修改值时 (Product::where('id', $product->id)->update(array('bought'=>true))
Nilai dalam pangkalan data tidak dikemas kini < /strong> Apabila melihatnya, saya mendapati medan baharu "Pembelian" yang dibuat oleh penghijrahan telah ditandakan Baca Sahaja: Tiada lajur jadual yang sepadan .
Kod migrasi adalah seperti berikut:
<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::table('products', function (Blueprint $table) { $table->boolean('bought'); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::table('products', function (Blueprint $table) { $table->dropColumn('bought'); }); } };
Berikut ialah tangkapan skrin pangkalan data:
Saya telah mencuba beberapa kali untuk membersihkan cache dan membina semula pangkalan data serta melancarkan semula dan berhijrah semula. Perkara yang aneh ialah, saya telah menambah medan "keterlihatan" sebelum ini dan ia berfungsi dengan sempurna menggunakan kod dan langkah yang sama seperti medan yang dimaksudkan.
Bagaimana untuk menyelesaikannya?
P粉5462579132024-02-26 11:43:04
Saya baru sahaja memulakan semula alat pangkalan data saya dan ia hilang.
P粉5049209922024-02-26 00:01:36
Selepas memerah otak, saya menyelesaikan masalah dengan hanya memulakan semula bekas docker. Nampaknya isu ini tiada kaitan dengan Laravel, tetapi dengan Docker!
Untuk sesiapa yang menghadapi masalah yang sama: Pastikan untuk menamatkan Docker dan semua bekas dan mulakan semula.