在laravel中设置Slug时出错-profile%20 /%20

时间:2018-09-21 13:43:35

标签: laravel laravel-5

我的个人资料链接到个人资料

<li><a href="{{ url('/profile/') }} / {{ Auth::user()->slug }}">Profile</a></li>

我的路线文件

Route::get('/profile/{slug}','ProfileController@index');

我的个人资料控制器页面

class ProfileController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth');
    }
    public function index($slug){
        return view('profile.index');
    }

}

3 个答案:

答案 0 :(得分:2)

删除空间

<li><a href="{{ url('/profile/') }}/{{ Auth::user()->slug }}">Profile</a></li>

答案 1 :(得分:1)

为每个路线创建一个名称,例如:

Route::get('/profile/{slug}','ProfileController@index')->name('profile');

然后您可以这样称呼:

<li>
    <a href="{{ route('profile', Auth::user()->slug) }}">Profile</a>
</li>

如果您不想使用路线名称。您可以这样做:

<li>
    <a href="{{ url('/profile/').Auth::user()->slug }}">Profile</a>
</li>

答案 2 :(得分:0)

您需要进入模型并添加此功能

public function getRouteKeyName()
{
    return 'slug';
}

这将指示laravel使用“ slug”作为路由器密钥,而不是ID