Fix: Маршрут show с {course} параметром

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
mirivlad 2026-03-31 08:53:46 +08:00
parent 79d8dedb91
commit cb87a76570
3 changed files with 11 additions and 10 deletions

View File

@ -155,14 +155,14 @@ class CourseAssignmentController extends Controller
->with('success', "Создано назначений: {$created}");
}
public function show(Request $request, $course_id)
public function show(Request $request, $course)
{
Gate::authorize('viewAny', CourseAssignment::class);
$start_date = $request->get('start');
$end_date = $request->get('end') !== 'null' ? $request->get('end') : null;
$query = CourseAssignment::where('course_id', $course_id)
$query = CourseAssignment::where('course_id', $course)
->where('start_date', $start_date);
if ($end_date) {
@ -172,14 +172,14 @@ class CourseAssignmentController extends Controller
}
$assignments = $query->with(['course', 'user', 'group', 'organization', 'creator'])->get();
$course = $assignments->first()?->course;
$courseModel = $assignments->first()?->course ?? Course::find($course);
// Группируем по типам
$individual = $assignments->where('type', 'individual');
$groups = $assignments->where('type', 'group');
$organizations = $assignments->where('type', 'organization');
return view('admin.course-assignments.show', compact('course', 'assignments', 'individual', 'groups', 'organizations', 'start_date', 'end_date'));
return view('admin.course-assignments.show', compact('courseModel', 'assignments', 'individual', 'groups', 'organizations', 'start_date', 'end_date'));
}
public function destroy(CourseAssignment $course_assignment)

View File

@ -1,12 +1,12 @@
@extends('layouts.app')
@section('title', 'Назначение: ' . $course->title)
@section('title', 'Назначение: ' . $courseModel->title)
@section('content')
<div class="container-fluid">
<div class="row">
<nav class="col-md-3 col-lg-2 d-md-block sidebar"><div class="position-sticky pt-3">@include('partials._sidebar')</div></nav>
<main class="col-md-9 ms-sm-auto col-lg-10 px-md-4 main-content">
<div class="d-flex justify-content-between align-items-center pt-3 pb-2 mb-3 border-bottom">
<h1 class="h2">{{ $course->title }}</h1>
<h1 class="h2">{{ $courseModel->title }}</h1>
<a href="{{ route('admin.course-assignments.index') }}" class="btn btn-secondary btn-sm">Назад</a>
</div>
@ -132,7 +132,7 @@
<div class="modal-content">
<form action="{{ route('admin.course-assignments.store') }}" method="POST">
@csrf
<input type="hidden" name="course_ids" value="{{ $course->id }}">
<input type="hidden" name="course_ids" value="{{ $courseModel->id }}">
<input type="hidden" name="start_date" value="{{ $start_date }}">
<input type="hidden" name="end_date" value="{{ $end_date }}">
<div class="modal-header">
@ -157,7 +157,7 @@
<div class="modal-content">
<form action="{{ route('admin.course-assignments.store') }}" method="POST">
@csrf
<input type="hidden" name="course_ids" value="{{ $course->id }}">
<input type="hidden" name="course_ids" value="{{ $courseModel->id }}">
<input type="hidden" name="start_date" value="{{ $start_date }}">
<input type="hidden" name="end_date" value="{{ $end_date }}">
<div class="modal-header">
@ -182,7 +182,7 @@
<div class="modal-content">
<form action="{{ route('admin.course-assignments.store') }}" method="POST">
@csrf
<input type="hidden" name="course_ids" value="{{ $course->id }}">
<input type="hidden" name="course_ids" value="{{ $courseModel->id }}">
<input type="hidden" name="start_date" value="{{ $start_date }}">
<input type="hidden" name="end_date" value="{{ $end_date }}">
<div class="modal-header">

View File

@ -52,7 +52,8 @@ Route::middleware('auth')->group(function () {
Route::resource('courses', CourseController::class);
Route::resource('courses.tests', TestController::class);
Route::resource('tests.questions', QuestionController::class);
Route::resource('course-assignments', CourseAssignmentController::class);
Route::resource('course-assignments', CourseAssignmentController::class)->except(['show', 'edit', 'update']);
Route::get('/course-assignments/{course}', CourseAssignmentController::class . '@show')->name('course-assignments.show');
Route::resource('groups', GroupUserController::class);
Route::post('/users/{user}/groups/add', [GroupUserController::class, 'addUser'])->name('groups.users.add');
Route::delete('/groups/{group}/users/{user}/remove', [GroupUserController::class, 'removeUser'])->name('groups.users.remove');