【问题标题】:Using multiple controllers in the same route gets route undefined在同一路由中使用多个控制器会导致路由未定义
【发布时间】:2018-11-05 23:18:32
【问题描述】:

在同一路由中使用多个控制器时出现未定义路由的错误:

这是我的控制器的代码:

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:如果我使用其他路由路径,例如“/miscellanous-tri-alphabet”,我不会收到任何其他错误,但除此之外,我会收到未定义路由的错误

【问题讨论】:

  • php artisan route:list 工作吗?
  • 你在哪里得到这个错误?你想做什么?你永远不应该故意为同一个路由使用多个控制器动作,因为第一个被定义的总是那个被使用的。
  • 您的view 中有不同的表格来显示所有不同的回报吗?
  • @jfadich 所以没有别的办法了吗?因为还有一些其他框架能够使相同的页面响应(javascript框架),无论如何我很抱歉,但我仍然是这个领域的初学者

标签: laravel laravel-5 laravel-5.1


【解决方案1】:

您可以在这里查看:Laravel 5.2 assigning same route to different controller action by conditions。这不是我的,而是他作为一种创造新路线和特征的方法。

【讨论】:

    【解决方案2】:

    您的 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;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多