$students = Enrollment::all();
foreach ($students as $student) {
$assign_course_id = $student->course_id;
$assign_user_id = $student->user_id;
//echo $assign_user_id;
$assign_jobs = Submission::all();
$collection = collect($assign_jobs);
$merged = $collection->merge($assign_jobs)->random(2);
//echo $merged;
if (count($merged) > 0) {
for ($i = 0; $i < sizeof($merged); $i++) {
$jobid = $merged[$i]->id;
foreach ($merged as $job) {
if ($assign_user_id !== $job->user_id) {
$newjob = New PeerMarking;
$newjob->submission_id = $jobid;
$newjob->course_id = $assign_course_id;
$newjob->user_id = $assign_user_id;
$newjob->save();
//echo $assign_user_id;
}
// $merged = $collection->merge($assign_jobs)->random(2);
//
// $newjob = New AssignJob;
// $newjob->submission_id = $jobid;
// $newjob->course_id = $assign_course_id;
// $newjob->user_id = $assign_user_id;
// $newjob->save();
}
}
}
}
Я хочу назначить работу текущим зачисленным студентам.
Один студент получает две работы, и одна работа будет отмечена дважды.
Только студент может получить работу других, не может получить работу самостоятельно.
На данный момент моя база данных выглядит так:

Это система равноправной маркировки. Я хочу поручать студентам задания на отметку. Один студент может устроиться на две работы. Одна работа будет отмечена дважды. Есть условие, что студент не может устроиться на работу.






Не могли бы вы более четко изложить то, что конкретно хотите знать? SO предназначен для решения конкретных проблем, а не для написания кода для вас.