Laravel-多对多保存,如何在foreach中合并两个数组

问题描述 投票:1回答:1

在迭代两个安排以将两者的信息保存在表中时,我遇到了一种情况。下面的代码不正确,但这是我想做的本质。

    $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]);

    }
php arrays laravel
1个回答
0
投票

您可以这样操作:

foreach($scores as $index => $score) {
  $courses->users()->attach($userid, ['score' => $score, 'course_id' => $courses[$index]]);
}

希望有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.