【发布时间】:2018-07-03 19:14:30
【问题描述】:
我有一个 School 模型,其中有许多学生模型参与多个课程模型,我也为每个模型设置了一个控制器。
我需要能够访问学校类型(大、小等),无论我是在学生、课程还是学校控制器中。
这种方法在严格的 OOP 世界中是否正确?
// School model
class School
{
...
public getSchoolType()
{
return $this->schoolType;
{
}
// Student model
class Student
{
...
public school()
{
return $this->school;
{
}
// Lesson model
class Lesson
{
...
public student()
{
return $this->student;
{
}
// Student controller
class StudentController
{
public function show(Student $student)
{
$schoolType = $student->school->schoolType;
return view('students', array($schoolType));
}
}
// Lesson controller
class LessonController
{
public function show(Lesson $lesson)
{
$schoolType = $lesson->student->school->schoolType;
return view('lessons', array($schoolType));
}
}
如果课程以多对多方式与学生相关,如果没有学生参加该课程,我如何在课程控制器中获取 schoolType?
我的意思是,我应该通过像 $lesson->school->schoolType 这样的 Student 模型获得 schoolType,还是应该更像 $lesson->student->school->schoolType,所以课程与学生没有直接关系?
【问题讨论】:
标签: laravel oop model-view-controller model controller