저는 Laravel 9를 사용하여 웹을 개발하고 있습니다. sail php make:migration add_bought_to_products_table
在产品表中添加一个名为“bought”的布尔列。当尝试使用 Eloquent 帮助程序修改值时 (Product::where('id', $product->id)->update(array('bought'=>true))
데이터베이스의 값이 업데이트되지 않았습니다 < /strong> 명령을 사용했습니다. 살펴보니 마이그레이션으로 생성된 새 필드 "Purchase"가 읽기 전용: 해당 테이블 열이 없습니다 로 표시되어 있는 것을 발견했습니다.
이전 코드는 다음과 같습니다.
으아아아다음은 데이터베이스의 스크린샷입니다:
캐시를 정리하고 데이터베이스를 재구축하고 롤백하고 다시 마이그레이션을 여러 번 시도했습니다. 이상한 점은 이전에 "가시성" 필드를 추가했는데 문제의 필드와 정확히 동일한 코드와 단계를 사용하여 완벽하게 작동했다는 것입니다.
어떻게 해결하나요?
방금 데이터베이스 도구를 다시 시작했는데 사라졌습니다.
고민 끝에 도커 컨테이너를 다시 시작하여 문제를 해결했습니다. 이 문제는 Laravel과 관련이 없고 Docker와 관련이 있는 것 같습니다!
비슷한 문제가 발생하는 경우: Docker와 모든 컨테이너를 종료하고 다시 시작하세요.