【发布时间】:2021-11-06 20:30:51
【问题描述】:
当我尝试获取服务的详细信息页面时收到 404 错误。我希望您能帮助我解决这个 404 错误。提前谢谢你。
HomeController.php
public function department(Request $request, $slug)
{
//$service=Service::where('service_slug', $slug)->first();
$service = Service::findOrFail($slug);
return view('client.department.departmentdetails')->with('service', $service);
//return redirect()->route('department.show');
web.php
Route::get('/department/{slug}', 'HomeController@department')->name('department.show');
header.php
<li class="mega-menu-item">
<a href="/departments" class="mega-menu-link">Departments</a>
<ul class="mega-submenu">
@foreach(\Illuminate\Support\Facades\DB::table('services')->get() as $service)
<li><a href="{{ route('department.show',$service->service_slug) }}">
{{$service->service_name}}</a>
</li>
@endforeach
我试过了
- php 工匠路线:清除
- 在 Home Controller 中返回
return redirect()->route('department.show');现在已注释
编辑
public function department(Request $request, $id)
{
//$service=Service::where('service_slug', $slug)->first();
//$service = Service::findOrFail($slug);
$service = Service::findOrFail($id);
//return view('client.department.departmentdetails')->with('service', $service);
return redirect()->route('department.show');
}
【问题讨论】:
-
$service = Service::findOrFail($slug);findOrFail()采用id作为参数,而不是 slug。您是否将模型主键更改为使用service_slug?您在上面评论的那一行应该这样做 -
你好,我还是遇到同样的 404 错误,检查上面的编辑。
-
您是否更改了路线以使用
id作为参数?Route::get('/department/{id}...'导致 404 的 URL 是什么?在你的方法结束时重定向有什么用,似乎没有意义?
标签: laravel