auditionadmin/app/Http/Controllers/Tabulation/TabulationController.php

40 lines
1.2 KiB
PHP

<?php
namespace App\Http\Controllers\Tabulation;
use App\Http\Controllers\Controller;
use App\Models\Audition;
use App\Models\Entry;
use App\Models\ScoreSheet;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Session;
use function compact;
use function dump;
use function redirect;
class TabulationController extends Controller
{
public function status()
{
$auditions = Audition::with(['entries' => function($query) {
$query->withCount('scoreSheets');
},'room.judges'])->orderBy('score_order')->get();
return view('tabulation.status',compact('auditions'));
}
public function auditionSeating(Audition $audition)
{
// $entries = $audition->entries()->with(['student','scoreSheets.audition.scoringGuide','audition.room.judges'])->get();
// $entries = $entries->sortByDesc(function ($entry) {
// return $entry->totalScore();
// });
$entries = $audition->rankedEntries()->load('student.entries.audition','scoreSheets.audition.scoringGuide.subscores');
$judges = $audition->judges();
return view('tabulation.auditionSeating',compact('audition','entries','judges'));
}
}