雄辩地从数组列表更新多个id

时间:2019-04-18 14:43:39

标签: php mysql laravel eloquent

我已经将一个id数组传递给控制器​​,并将其收集在student变量内。我想为数组中的每个id更新数据库列“ lecture_id_FK”。我不确定如何使用数组ID查找学生。 laravel中的新功能。

控制器

public function setLecture($lecture,$student)
{   
    $students = student::whereIn('student_id', $student)->get();
    $students->lecture_id_FK = $lecture;
    $students->save();

    //if i type "return $student" will produce -> ai160064,ai160065
}

1 个答案:

答案 0 :(得分:1)

whereIn方法使用array as the second argument。您可以使用explode函数来吸引所有学生。获得所有要更新的记录后,您可以使用laravel中的update方法对所有记录进行更新。这样,您可能会得到一些类似于以下的代码:

public function setLecture($lecture,$student)
{   
    $studentIds = explode(',', $student);
    return student::whereIn('student_id', $studentIds)
        ->update(['lecture_id_FK' => $lecture]);
}