【发布时间】:2020-10-20 21:59:38
【问题描述】:
我有两个Model,School和Student的关系是,School has Many Student //学生模型
public function school()
{
return $this->belongsTo('App\School');
}
和学校模型一样,下面是关系函数
public function student()
{
return $this->hasMany('App\Student');
}
现在我有一个显示页面,我想显示以下信息。 (school_name,school_code) 来自学校表和学生信息都来自学生表。如果我传递为,则在学生控制器中使用 show 函数
public function show($id)
{
$student=Student::find($id);
$school=School::find($id);
return View::make('student.show')->with(['school'=> $school,'student'=>$student]);
}
如果 school_id ==$id 但一所学校有很多学生,它会从学校获取数据,如果我单击以显示 ID 为 109 的按钮,它会失败,如何编写联接查询以从学校表中获取 school_code 和 school_name。
【问题讨论】:
-
你有一个展示页面...展示什么?学校还是学生?
-
尝试立即加载
Student::with('school')->find($id); -
我还可以建议将关系重命名为
students而不是student,因为它是一个“多”关系并且会返回一个集合总是(复数)
标签: laravel eloquent laravel-blade laravel-query-builder laravel-controller