我想在我拥有的tblSchedule
tblUserHomeCourt
和tblHomeCourt
他们有以下结构
tblSchedules
->scheduleId
->userHomeCourtId
->timeFrom
->timeTo
->duration
tblUserHomeCourts
->userHomeCourtId
->userId
->homeCourtId
tblHomeCourts
->homeCourtId
->homeCourtName
->lat
->long and other details
现在,schedule将存储用户的日程安排,而userHomeCourts将存储当前活动的homeCourt,homeCourt将提供可用的homecourts列表。
如何为用户获取这些详细信息?
在我的日程安排模型中,我尝试了hasManyThrough
,但它给了我一组空的日程安排
public function schedule() {
return $this->hasManyThrough(HomeCourt::class,UserHomeCourt::class, 'homeCourtId', 'homeCourtId','scheduleId');
}
答案 0 :(得分:0)
试试这个,在Schedule.php雄辩的模型类中,
public function schedule(){
return $this->hasMany(UserHomeCourt::class,'userHomeCourtId')->with('user_information')->with('home_courts');
}
在UserHomeCourt.php模型类
中public function user_information(){
return $this->belongsTo(User::class,'userId');
}
public function home_courts(){
return $this->belongsTo(HomeCourt::class,'homeCourtId');
}
希望它有所帮助!
答案 1 :(得分:0)
您可以尝试使用此代码,我通常使用此方法建立关系
DB::table('tblSchedules')->join('tblUserHomeCourts', 'tblSchedules.userHomeCourtId', '=', 'tblUserHomeCourts.userHomeCourtId')
->join('tblHomeCourts', 'tblUserHomeCourts.homeCourtId', '=', 'tblHomeCourts.homeCourtId')
->get();