Maison  >  Questions et réponses  >  le corps du texte

Laravel PHP Artisan : Aucune colonne de table correspondante trouvée - accès en lecture seule

Je développe un web en utilisant Laravel 9. J'ai utilisé la commande sail php make:migration add_bought_to_products_table 在产品表中添加一个名为“bought”的布尔列。当尝试使用 Eloquent 帮助程序修改值时 (Product::where('id', $product->id)->update(array('bought'=>true)) La valeur dans la base de données n'a pas été mise à jour < /strong> En la regardant, j'ai constaté que le nouveau champ "Achat" créé par la migration était marqué Lecture seule : il n'y a pas de colonne de tableau correspondante .

Le code de migration est le suivant :

<?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');
        });
    }
};

Voici une capture d'écran de la base de données :

J'ai essayé plusieurs fois de nettoyer le cache, de reconstruire la base de données, de restaurer et de migrer à nouveau. Ce qui est bizarre, c'est que j'ai déjà ajouté le champ "Visibilité" et cela a parfaitement fonctionné en utilisant exactement le même code et les mêmes étapes que le champ en question.

Comment le résoudre ?

P粉547362845P粉547362845260 Il y a quelques jours428

répondre à tous(2)je répondrai

  • P粉546257913

    P粉5462579132024-02-26 11:43:04

    Je viens de redémarrer mon outil de base de données et il a disparu.

    répondre
    0
  • P粉504920992

    P粉5049209922024-02-26 00:01:36

    Après m'être creusé la tête, j'ai résolu le problème en redémarrant simplement le conteneur Docker. Il semble que ce problème n’ait rien à voir avec Laravel, mais avec Docker !

    Pour toute personne rencontrant des problèmes similaires : Assurez-vous de mettre fin à Docker et à tous les conteneurs, puis de redémarrer.

    répondre
    0
  • Annulerrépondre