我需要返回任務列表以及每個任務的當前用戶進度。在我DailyMission模型(daily_missions表)Laravel:訪問關係表
return DailyMission::with('userProgress')->get();
使用以下關係:對於這一點,我創建了以下有力地表達
public function userProgress() {
return $this->hasOne(UserDailyMission::class,'mission_id');
}
的問題是,它不是指定的用戶,這意味着我得到隨機用戶在我的數據庫中的第一次進展。
我試圖改變表達成這樣:
return DailyMission::with('userProgress')
->where('user_daily_missions.user_id',$user->id)
->get();
,但我得到了以下錯誤:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'user_daily_missions.user_id' in 'where clause
用戶進程使用下列結構存儲在user_daily_missions
表:
id | user_id | mission_id | current_progress
任何想法如何輸出當前用戶的進度而不是隨機用戶?這個結構有什麼問題嗎?
使用'用([ 'userProgress'=>函數($ Q)使用($用戶){$ Q->在哪裏('USER_ID嘗試',$ user-> id);}])''而不是' - > where('user_daily_missions.user_id',$ user-> id)' –
你有一個$ user在你的函數中嗎? – Onix
@NarendrasinghSisodia謝謝!真棒! – TheUnreal