Php 如何在Laravel5.4中使用slug创建url?

Php 如何在Laravel5.4中使用slug创建url?,php,laravel,web,laravel-5.4,Php,Laravel,Web,Laravel 5.4,现在我正在尝试用slug做一个Laravel url。我在主页上显示了所有类别: <div class="panel-body"> @foreach($categories as $category) <p><a href="{{ URL::to('test/' . $category->slug) }}">{{ $category->name }}</a></p> @endf

现在我正在尝试用slug做一个Laravel url。我在主页上显示了所有类别:

<div class="panel-body">
      @foreach($categories as $category)
            <p><a href="{{ URL::to('test/' . $category->slug) }}">{{ $category->name }}</a></p>
      @endforeach
</div>
和控制器中的功能:

public function index()
{
    $categories = DB::table('fuel_accounting_categories')
        ->select('id', 'name', 'slug')
        ->get();

    return view('pages.fuel_accounting')->with('categories', $categories);
}

public function element($slug)
{
    $category = DB::table('fuel_accounting_categories')
        ->select('slug')
        ->where('slug', '=', $slug)
        ->first();

    return view('pages.fuel_accounting_element')->with('category', $category);
}
当我试图访问一个页面(例如:laravel.dev/test/current_category)时,它不起作用。有人能告诉我怎么做吗

错误:很抱歉,找不到您要查找的页面。(1/1)NotFoundHttpException

已修复


<div class="panel-body">
      @foreach($categories as $category)
            <p><a href="{{URL::to('test/'.$category->name)}}">{{ $category->name }}</a></p>
      @endforeach
</div>
@foreach($categories作为$category)

@endforeach
那么,“test”类名应该以大写字母或小写字母“T”开头吗?您的路由和控制器操作看起来正常。这表明出于某种原因,拉威尔确实无法解决这条路线。查找控制器名称、操作名称中的输入错误。另外,确保没有其他路由覆盖您的slug路由。另外,尝试运行
php artisan路由:clear
。这可能是显而易见的,意思是:最难发现;)<代码>选择(“slug”)->其中(“slug”、“=”、$slug)没有意义。既然你已经知道它是什么,为什么还要查询数据库呢?你能在这里粘贴一个你得到的错误截图吗?你能发布你得到的错误吗?同时,如果还没有,请将其添加到类别模型中:公共函数getRouteKeyName(){return'slug';}。再读一遍。
<div class="panel-body">
      @foreach($categories as $category)
            <p><a href="{{URL::to('test/'.$category->name)}}">{{ $category->name }}</a></p>
      @endforeach
</div>