我有两个表: 学生表:
columns: id | family_id | name | class | section
家庭表:
columns: id | f_name | f_profession
我想要的东西:如果学生表中有任何学生,我想获取每个学生的兄弟姐妹列表。我想在每个学生档案中显示兄弟/姐妹的名单。
我尝试过的做法:我能够获得所有学生的名单,当我单击学生姓名时,它会打开学生个人资料,但不会显示该学生的兄弟姐妹。
我的控制器:
public function show($id){
$showdata = Student::find($id);
return View('students.profile' ,compact('showdata');}
我的学生模型:
class student extends Model
{
public function family() {
return $this->belongsTo(family::class,'family_id'); }
public function getSiblings() {
return $this->family->students;
}}
我的个人资料视图:
Brother Sisters :{{$showdata->getSiblings()}}
答案 0 :(得分:1)
您需要一种“有很多通过”的关系。
public function studentSiblings() {
return $this->hasManyThrough('App\Sibling', 'App\Family);
}
可以找到更多信息:https://laravel.com/docs/5.7/eloquent-relationships#has-many-through