ホームページ  >  に質問  >  本文

Laravel PHP Artisan: 一致するテーブル列が見つかりません - 読み取り専用アクセス

Laravel 9 を使用して Web を開発しています。コマンド sail php make:migration add_bought_to_products_table を使用して、「bought」という名前のブール列を products テーブルに追加します。 Eloquent ヘルパーを使用して値を変更しようとしている場合 (Product::where('id', $product->id)->update(array('bought'=>true)) データベースの値は更新されませんでした< /strong>。これを見ると、移行によって作成された新しいフィールド「購入」が 読み取り専用: 対応するテーブル列がありませんとマークされていることがわかりました。 .

移行コードは次のとおりです:

リーリー

これはデータベースのスクリーンショットです:

キャッシュをクリーンアップしてデータベースを再構築し、ロールバックして再度移行することを何度も試みました。奇妙なことに、私は以前に「可視性」フィールドを追加していましたが、問題が発生したフィールドとまったく同じコードと手順を使用して完璧に機能しました ###の解き方?

P粉547362845P粉547362845211日前404

全員に返信(2)返信します

  • P粉546257913

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

    データベース ツールを再起動したところ、問題は解決しました。

    返事
    0
  • P粉504920992

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

    頭を悩ませた結果、Docker コンテナを再起動するだけで問題を解決できました。この問題は Laravel とは関係なく、Docker と関係があるようです。

    同様の問題が発生した場合: Docker とすべてのコンテナーを必ず終了し、再起動してください。

    返事
    0
  • キャンセル返事