Courses

Creating a Quiz System with Laravel 10 + Livewire 3: Step-by-Step

Show Test Results to Admin

In this lesson, we will add a list of taken tests with their results that will only gonna be available for admin users.

tests list page

For that, let's create a controller.

php artisan make:controller Admin/TestController

Add the route.

routes/web.php

// ...
Route::middleware('auth')->group(function () {
// ...
Route::middleware('isAdmin')->group(function () {
Route::get('questions', QuestionList::class)->name('questions');
Route::get('questions/create', QuestionForm::class)->name('questions.create');
Route::get('questions/{question}', QuestionForm::class)->name('questions.edit');
 
Route::get('quizzes', QuizList::class)->name('quizzes');
Route::get('quizzes/create', QuizForm::class)->name('quiz.create');
Route::get('quizzes/{quiz}', QuizForm::class)->name('quiz.edit');
 
Route::get('tests', TestController::class)->name('tests');
});
});
// ...

And the link in the navigation.

resources/views/layouts/navigation.blade.php:

// ...
<x-slot name="content">
<x-dropdown-link :href="route('questions')">
Questions
</x-dropdown-link>
<x-dropdown-link :href="route('quizzes')">
Quizzes
</x-dropdown-link>
<x-dropdown-link :href="route('tests')">
Tests
</x-dropdown-link>
</x-slot>
// ...

Now let's get all tests in the controller...

The full lesson is only for Premium Members.
Want to access all 18 lessons of this course? (81 min read)

You also get:

  • 69 courses (majority in latest Laravel 11)
  • Premium tutorials
  • Access to repositories
  • Private Discord