Использование нескольких контроллеров на одном и том же маршруте дает неопределенный маршрут - PullRequest
0 голосов
/ 06 ноября 2018

Я получаю ошибку неопределенного маршрута при использовании нескольких контроллеров в одном маршруте:

Вот код моих контроллеров:

public function triealphabet(){
    $list_grocery = miscellaneous::all();
    $list_grocery = $list_grocery->sortBy('name');
    return view('markets.miscellaneous')->with('list_grocery',$list_grocery);}
public function triecreation(){
    $list_grocery = miscellaneous::all();
    $list_grocery = $list_grocery->sortBy('created_at');
    return view('markets.miscellaneous')->with('list_grocery',$list_grocery);}

и вот мой код маршрута:

Route::get('/miscellaneous','groceryController@listGrocery')->name('groceriesmarket'); 
Route::get('/miscellaneous','groceryController@triealphabet')->name('triealphabet');
Route::get('/miscellaneous','groceryController@triecreation')->name('triecreation');

P.S .: Если я использую другой путь маршрута, например "/ разное-три-алфавит", я не получаю никаких других ошибок, кроме этого я получаю ошибку неопределенного маршрута

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

Ваши 3 маршрута имеют один и тот же метод http и uri, поэтому в коллекции маршрутов сохраняется только последний маршрут. Так что 2 маршрута до не определено. Вы можете увидеть детали в классе: Illuminate\Routing\RouteCollection.php строка 65

/**
 * Add the given route to the arrays of routes.
 *
 * @param  \Illuminate\Routing\Route  $route
 * @return void
 */
protected function addToCollections($route)
{
    $domainAndUri = $route->getDomain().$route->uri();

    foreach ($route->methods() as $method) {
        $this->routes[$method][$domainAndUri] = $route;
    }

    $this->allRoutes[$method.$domainAndUri] = $route;
}
0 голосов
/ 06 ноября 2018

Здесь вы можете проверить: Laravel 5.2, назначающий один и тот же маршрут различным действиям контроллера по условиям . Это не мое, но он как подход к созданию нового маршрута и черты.

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