在迭代两个安排以将两者的信息保存在表中时,我遇到了一种情况。下面的代码不正确,但这是我想做的本质。
$userid = request()->input('user_id');
$scores = request()->input('score');
$courses = new Course(request(['course_id']));
foreach ($scores as $score AND $courses as $course){
$courses->users()->attach($userid,['score'=>$score, 'course_id' =>$course]);
}
我一直在使用组合数组的功能,但是它唯一要做的就是将数组的键与另一个数组的值组合在一起,这不是我想要的。
foreach (array_combine($scores, $courses) as $score => $course){
$courses->users()->attach($userid,['score'=>$score, 'course_id' =>$course]);
}
您可以这样操作:
foreach($scores as $index => $score) {
$courses->users()->attach($userid, ['score' => $score, 'course_id' => $courses[$index]]);
}
希望有帮助。