Laravel 5.5 Route Controller [Страница не найдена] - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть программа, которая использует $router->resource([]). Я использую laravel-admin.

вот мои маршруты. Php

$router->resources([
    'programs'             => ProgramController::class,
    'programs/categories'  => ProgramCategoryController::class,
]);

на моем programs хорошо работает со всеми операциями crud.

но на моем programs/categories не работает, сказал не нашел. route controller должен использовать разные url? ...

я имею в виду, что моя категория не может быть child из моих программ с другим контроллером? ...

Ответы [ 3 ]

0 голосов
/ 13 сентября 2018

см. https://laravel.com/docs/5.5/controllers#resource-controllers

Дополнительные контроллеры ресурсов

Если вам нужно добавить дополнительные маршруты к контроллеру ресурсов помимо набора маршрутов ресурсов по умолчанию, вы должны определить эти маршруты перед вызовомRoute::resource; в противном случае маршруты, определенные методом resource, могут непреднамеренно иметь приоритет над вашими дополнительными маршрутами:

Route::get('photos/popular', 'PhotoController@method');

Route::resource('photos', 'PhotoController');

Так что в моем случае выше просто измените это:

$router->resources([
    'programs'             => ProgramController::class,
    'programs/categories'  => ProgramCategoryController::class,
]);

на это:

$router->resources([
    'programs/categories'  => ProgramCategoryController::class,
    'programs'             => ProgramController::class,
]);

, и теперь он работает хорошо, также обе операции crud.

это не оптимальное решение, но оно работает для меня.

0 голосов
/ 13 сентября 2018

Вы хотите добавить префикс «программ» в категории ресурсов маршрутов.Вы можете сделать это, изменив свой код следующим образом:

$router->resources([
    'programs'             => ProgramController::class,
]);



// to add programs prefix to categories routes
Route::group(['prefix' => 'programs'], function () use ($router) {
    $router->resource('categories', ProgramCategoryController::class);

    // here you can add more routes and all those routes will have 
    // "programs" prefix in there url
});
0 голосов
/ 13 сентября 2018

Попробуйте изменить "программы / категории" на "программы.категории"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...