Laravel이 잘못된 테이블을 생성합니다.
P粉546257913
P粉546257913 2024-03-31 23:23:45
0
2
385

우리 시스템(기본적으로 사용자가 소셜 미디어 게시물을 다운로드하는 시스템)을 사용할 모든 사용자의 다운로드 기록이 필요합니다. ID, timestamp, download_historyuser_id 필드를 포함하는 "DownloadHistory" 모델을 만들었습니다. 사용자를 생성하면 DownloadHistory 인스턴스가 자동으로 생성되어야 하며 사용자 테이블은 내 RegisterController에 표시된 대로 새로 생성된 DownloadHistory의 ID를 포함하도록 download_history_id 필드를 갖도록 업데이트되어야 합니다. 으아아아

문제는: 나에게는 이해가 되지 않는 오류가 발생합니다:

이 말이 안 되는 이유는

download_history를 만든 적이 없지만 download_history를 만들었기 때문입니다. 그렇다면 이것은 무엇인가요? ? ? 내 DownloadHistory 모델은 다음과 같습니다: 으아아아

테이블을 만들기 위한 마이그레이션은 다음과 같습니다.

$downloadHistory = DownloadHistory::create([
    'user_id' => $user->id
]);

DB::table('users')->where('id', $user->id)->update(['download_history_id' => $downloadHistory->id]);

P粉546257913
P粉546257913

모든 응답(2)
P粉021708275

모델에 protected $table = 'download_history';

추가 으아아아
P粉068510991

Laravel에서는 테이블 이름이 복수형으로 가정됩니다.

참조: https://laravel.com/docs/9.x /eloquent#테이블 이름

이 문제를 해결하려면 모델에서 $table 속성을 사용하세요.

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿