我需要返回任务列表以及每个任务的当前用户进度。在我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