diff --git a/app/Http/Controllers/GradeSubjectController.php b/app/Http/Controllers/GradeSubjectController.php index d7ee45d..3ec4ed8 100644 --- a/app/Http/Controllers/GradeSubjectController.php +++ b/app/Http/Controllers/GradeSubjectController.php @@ -5,7 +5,7 @@ namespace App\Http\Controllers; use App\Http\Requests\GradeSubjectPostRequest; use App\Models\Grade; use App\Models\Subject; -use App\Services\ServiceInterface; +use App\Services\JournalService; use Illuminate\Http\RedirectResponse; use Illuminate\View\View; @@ -26,27 +26,18 @@ class GradeSubjectController extends Controller return redirect()->route('grades.show', $grade); } - public function edit(Grade $grade, Subject $subject): View - { - return view('grade-subject.edit', [ - 'grade' => $grade, - 'updateSubject' => $subject, - 'subjects' => Subject::all(), - ]); - } - - public function update(GradeSubjectPostRequest $request, Grade $grade, Subject $subject): RedirectResponse - { - $grade->subjects()->detach($subject); - $grade->subjects()->attach($request->subject_id); - - return redirect()->route('grades.show', $grade); - } - public function destroy(Grade $grade, Subject $subject): RedirectResponse { $grade->subjects()->detach($subject); return redirect()->route('grades.show', $grade); } + + public function journal(Grade $grade, Subject $subject, JournalService $service): View + { + return view('grade-subject.journal', [ + 'lessons' => $grade->lessons()->where('subject_id', $subject->id)->with('students')->get(), + 'students' => $grade->students()->orderBy('last_name')->get(), + ]); + } } diff --git a/app/Services/JournalService.php b/app/Services/JournalService.php new file mode 100644 index 0000000..daa1238 --- /dev/null +++ b/app/Services/JournalService.php @@ -0,0 +1,19 @@ +where('grade_id', $grade->id) + ->where('subject_id', $subject->id) + ->orderBy('lesson_date') + ->get(); + } +} diff --git a/resources/views/grade-subject/journal.blade.php b/resources/views/grade-subject/journal.blade.php new file mode 100644 index 0000000..02f3cb1 --- /dev/null +++ b/resources/views/grade-subject/journal.blade.php @@ -0,0 +1,57 @@ +@extends('layouts.application') + +@section('content') +
ФИО | + @foreach ($lessons as $lesson) +{{ $lesson->lesson_date }} | + @endforeach +
---|---|
+ @foreach ($lessons as $lesson) + | {{ $lesson->type }} | + @endforeach +
{{ $student->fio }} | + @foreach ($lessons as $lesson) ++ {{ $student->lessons->find($lesson->id)->pivot->score ?? "-" }} + | + @endforeach +
Средняя оценка | --}} +{{-- @foreach ($avgScores as $avgScore)--}} +{{----}} +{{-- {{ $avgScore ? $avgScore : "" }}--}} +{{-- | --}} +{{-- @endforeach--}} +{{--