【发布时间】:2018-02-08 06:07:52
【问题描述】:
我有 4 个模型:
- 学生
- 导师
- 课程
- 管理员
我可以使用他们的 ID 获取所有学生和导师。 我想让管理员创建 课程 并将它们存储在数据透视表中:
- course_student
- course_tutor
然而,这些关系对我来说并不太清楚。我认为我需要
belongsToMany
在课程和学生之间。 Tutor 和 Course 也是如此,对吗?
同样不清楚的是,如何在 HTML 端选择多个值并将它们提交给服务器。
例如:
public function store(AdminCreateNewCourseRequest $request)
{
$this->authorize('create-course');
$course = new Course;
$course->name = $request->name;
$course->tutor_id = $request->tutor_id;
$course->student_id = $request->student_id;
$course->spoken_language = $request->spoken_language;
$course->description = $request->description;
$course->save();
What to do?
return redirect($course->path())
->with('flash', 'The course has been published');
}
这里是 AdminCreateNewCourseRequest
public function rules()
{
return [
'name' => 'required|unique:courses|max:60',
'tutor_id' => [
'required',
Rule::exists('tutors', 'id');
],
'student_id' => [
'required',
Rule::exists('students', 'id');
],
'spoken_language' => 'required',
'description' => 'required|max:255'
];
}
我可能会让管理员选择多个导师和学生。
我怎样才能做到这一点?
非常感谢。
【问题讨论】:
标签: php html mysql database laravel