当涉及到迭代两个安排以将两者的信息保存在一个表中时,我有一种情况。下面的代码不正确,但它是我想要做的事情的本质。 $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]); }
1 回答
子衿沉夜
TA贡献1828条经验 获得超3个赞
你可以这样做:
foreach($scores as $index => $score) {
$courses->users()->attach($userid, ['score' => $score, 'course_id' => $courses[$index]]);
}
注意,$courses和$scores都需要是数组。仔细检查此行是否$courses = new Course(request(['course_id']));实际创建了$courses数组。
希望能帮助到你。
- 1 回答
- 0 关注
- 127 浏览
添加回答
举报
0/150
提交
取消