对不起,我不知道如何创建一个好标题。所以 我有3张桌子。 USER , SPECIAL_USER , EDUCATION_SPECIAL_USER
在USER中,我有
之类的基本数据id,姓名,地址,电子邮件等
在SPECIAL_USER数据中
id,user_id,身高,体重
我在Education_SPECIAL_USER中拥有
id,special_user_id,name_school,技能等
我在此表上有 LIKE 表。我在根据 USER 上的ID调用 EDUCATION_SPECIAL_USER 时遇到问题。它有问题,因为我的EDUCATION_SPECIAL_USER与USER表没有直接关系。 它是我的控制器,如何解决
public function PDF_profile(Request $request,$id){
$users = User::findOrFail($id);
$special_users= Special_Users::where('user_id',$id)->first();
$EDUCATION_SPECIAL_USER= EDUCATION_SPECIAL_USER::where('Special_user_id',$id)->get();
$pdf = PDF::loadView('admin.pdf_profile',
[
'EDUCATION_SPECIAL_USER '=>$EDUCATION_SPECIAL_USER ,
'users' => $users,
'special_users'=> $special_users,
]);
dd($r_kgb);
//return $pdf->stream('Profile.pdf')->header('Content-Type','application/pdf');
}
该数据没有出,因为这个错误的id,我该如何解决呢?
答案 0 :(得分:1)
您可以使用“具有多次通过”关系:
// In your model User:
public function educationSpecialUsers()
{
return $this->hasManyThrough(EducationSpecialUser::class, SpecialUser::class);
}
// then use:
$user = User::findOrFail($id);
$educationSpecialUsers = $user->educationSpecialUsers;
希望有帮助。