Php 如何在Laravel5.4中使用slug创建url?
现在我正在尝试用slug做一个Laravel 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
<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>