在URL Laravel 5中传递变量(未定义路由[类别])


Pass variables in URL Laravel 5 (Route [category] not defined)

UrlGenerator.php第252行出现错误异常:

未定义路线[类别]。(视图:D:''examplep''htdocs''laravel''resources''views''pages''homeblade.php)

Home.blade.php

$product_category = DB::table('tbl_products_category')
                                                ->select('tbl_product_category_id', 'tbl_product_category_name')
                                                ->where('tbl_product_category_status', '=', 1)
                                                ->get();
                                  ?>
                                  @foreach($product_category as $product_category_values)
                                  <li><a href="{{ URL::route('category', array('category_id' => $product_category_values->tbl_product_category_id)) }}"> {{ $product_category_values->tbl_product_category_name }}</a>
                                  </li>
                                  @endforeach

HomeController.php

 <?php namespace App'Http'Controllers;
    class HomeController extends Controller {
        public function index()
        {
           return view('pages.home');
        }
            public function getproductDetails($category_id)
            {
               return $category_id; 
               //return view('welcome'); 
            }        
    }

Route.php

Route::get('category/{category_id}', 'HomeController@getproductDetails');

URL::route()route()需要一个路由名称作为第一个参数。您的路线当前没有名称,请通过添加as:来更改名称

Route::get('category/{category_id}', [
    'as' => 'category',
    'uses' => 'HomeController@getproductDetails'
]);

或者,您可以使用URL::action()action()通过其控制器操作获取路线:

URL::action('HomeController@getproductDetails', array('category_id' => $product_category_values->tbl_product_category_id))