Роуты
Для удобства все роуты админки можно вынести в отдельный файл 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