/** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create(Request $request) { $circle = Circle::findOrFail($request->circle_id); $batch = Batch::where('circle_id', $request->circle_id)->orderBy('seqno', 'DESC')->first(); $seqno = 1; if (isset($batch)) { $seqno = $batch->seqno + 1; } return view('batch.create', ['circle' => $circle, 'seqno' => $seqno]); }
/** * Run the database seeds. * * @return void */ public function run() { $circles = Circle::all(); foreach ($circles as $circle) { $pupils = $circle->pupils()->get(); $batches = $circle->batches()->get(); foreach ($pupils as $pupil) { foreach ($batches as $batch) { Submission::create(['batch_id' => $batch->id, 'pupil_id' => $pupil->id, 'score' => rand(0, $batch->maxscore)]); } } } }
/** * Run the database seeds. * * @return void */ public function run() { $circles = Circle::all(); foreach ($circles as $circle) { $count = rand(0, 4); if ($count == 0) { continue; } foreach (range(1, $count) as $number) { Batch::create(['maxscore' => rand(10, 40), 'circle_id' => $circle->id, 'seqno' => $number]); } } }
/** * Run the database seeds. * * @return void */ public function run() { $circles = Circle::all(); foreach ($circles as $circle) { $pupils = Pupil::where('schoolenrolment', $circle->year - $circle->grade + 1)->get(); $count = rand(0, min(10, $pupils->count())); if ($count == 0) { continue; } if ($count == 1) { $pupil = $pupils->random(); Registration::create(['circle_id' => $circle->id, 'pupil_id' => $pupil->id]); } else { $pupils = $pupils->random($count); foreach ($pupils as $pupil) { Registration::create(['circle_id' => $circle->id, 'pupil_id' => $pupil->id]); } } } }
public function analyze(Circle $circle) { $pupils = $circle->pupils()->orderBy('surname')->get(); $submissions = $circle->submissions()->get(); $batches = $circle->batches()->orderBy('seqno')->get(); $totals = []; foreach ($submissions as $submission) { if (!isset($totals[$submission->pupil_id])) { $totals[$submission->pupil_id] = 0; } $totals[$submission->pupil_id] += $submission->score; } $scores = []; foreach ($submissions as $submission) { $scores[$submission->pupil_id][$submission->batch_id] = $submission->score; } $maxtotal = 0; foreach ($batches as $batch) { $maxtotal += $batch->maxscore; } return view('/circle.analyze', ['pupils' => $pupils, 'batches' => $batches, 'totals' => $totals, 'scores' => $scores, 'maxtotal' => $maxtotal, 'circle' => $circle]); }