Php 如何在Laravel 5.7的多对多表中插入数据
我是新来的 我有两张桌子,学生课。 它们之间的关系是多对多的,当我尝试添加新学生并将该学生分配到许多已经存在的课程时,它会正确添加新学生,但无法添加到表student\u课程 我使用的是Laravel 5.7 在学生模型中,我定义了函数课程Php 如何在Laravel 5.7的多对多表中插入数据,php,laravel,insert,many-to-many,Php,Laravel,Insert,Many To Many,我是新来的 我有两张桌子,学生课。 它们之间的关系是多对多的,当我尝试添加新学生并将该学生分配到许多已经存在的课程时,它会正确添加新学生,但无法添加到表student\u课程 我使用的是Laravel 5.7 在学生模型中,我定义了函数课程 public function courses() { return $this->belongsToMany('App\Course'); } 在课程模式中,我添加了 public fun
public function courses()
{
return $this->belongsToMany('App\Course');
}
在课程模式中,我添加了
public function student()
{
return $this->belongsToMany('App\Student');
}
学生控制器
public function store(Request $request , Courses courses)
{
Student::createStudent($request->all());
$courses = courses()->attach($request->courses);
return redirect('/admin/student')->with('success','Has been added');
}
在student.blade中创建
<select name='courses[]' style="width:220px;" multiple="multiple">
@foreach( $courses as $course )
<option value="{{$course->id}}">{{$course->name_courses}}</option>
@endforeach
</select>
@foreach($课程作为$课程)
{{$course->name_courses}
@endforeach
这需要选择许多课程
课程在StudentController中是未定义变量时发生的错误。
我试图解决它,但我不知道如何解决。这应该是您的存储功能:
public function store(Request $request,Courses courses){
$student = Student::createStudent($request->all());
$courses = Course::find($request->get('courses'));
$student->courses()->attach($courses);
return redirect('/admin/student')->with('success','Has been added');
}
将代码以文本而非图像的形式发布。它成功了,非常感谢@费利佩·杜阿尔特这不是多对多的关系。你需要三张桌子@DaliaNajeh你是怎么解决的?你没有提供解决问题的方法。