Роуты

Для удобства все роуты админки можно вынести в отдельный файл admin.php и подключить его в RouteServiceProvider.php.

// app/Providers/RouteServiceProvider.php

Route::middleware(['web', 'auth'])
    ->group(base_path('routes/admin.php'));

Для каждого нового ресурса нужно создать 3 роута:

  • страница вывода списка ресурсов

  • страница редактирования ресурса

  • страница создания ресурса

Каждому роуту нужно дать имя, оно будет использоваться кнопками управления ресурсом.

Также в роутах создания и редактирования нужно передать Eloquent модель в переменной model.

Ниже пример файла для раздела с новостями.

// routes/admin.php

<?php

use App\Models\Post;
use Illuminate\Support\Facades\Route;

Route::get('/admin/posts', function () {
    return view('admin.posts.list');
})->name('posts.list');

Route::get('/admin/posts/{post}/edit', function (Post $post) {
    return view('admin.posts.edit')
        ->with([
            'model' => $post
        ]);
})->name('posts.edit');

Route::get('/admin/posts/create', function () {
    return view('admin.posts.create')
        ->with([
            'model' => new Post()
        ]);
})->name('posts.create');

Если после авторизации в админке не работает редирект на главную страницу /admin, то в RouteServiceProvider.php измените константу HOME.

// app/Providers/RouteServiceProvider.php

public const HOME = '/admin';

Last updated