【问题标题】:How to define name for slug?如何定义蛞蝓的名称?
【发布时间】:2025-11-29 07:30:01
【问题描述】:

看看我的代码。

web.php

Route::get('/{pageSlug}', 'PageController@about')->name('about');

RouteServiceProvider.php

public function boot()
{
    Route::bind('pageSlug', function ($value) {
        return Page::whereSlug($value)->firstOrFail();
    });
    parent::boot();
}

刀片

<a class="nav-link" href="{{ route('about') }}">About</a>

我看到了这个错误

缺少 [Route: about] [URI: pageSlug}] 的必需参数。 (查看:C:\xampp3\htdocs\projects\resources\views\Home\layouts\header.blade。

【问题讨论】:

  • 只是为了确定:“关于”不是您的页面 slug?因为在那种情况下,整个路由配置是错误的。

标签: php laravel


【解决方案1】:

您可以像这样将路由参数设为可选:

Route::get('/{pageSlug?}', 'PageController@about')->name('about');

如果不是可选的,则在调用路由时总是需要添加参数。

<a class="nav-link" href="{{ route('about', ['pageSlug' => 'some-slug']) }}">About</a>

【讨论】:

    最近更新 更多