우리 시스템(기본적으로 사용자가 소셜 미디어 게시물을 다운로드하는 시스템)을 사용할 모든 사용자의 다운로드 기록이 필요합니다. ID, timestamp, download_history 및 user_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]);
모델에
추가 으아아아protected $table = 'download_history';
Laravel에서는 테이블 이름이 복수형으로 가정됩니다.
참조: https://laravel.com/docs/9.x /eloquent#테이블 이름
이 문제를 해결하려면 모델에서
으아악$table
속성을 사용하세요.