Laravel中的HTML :: link的URLEncode

Nig*_*ICU 3 php laravel

我正在Laravel中建立一个博客,似乎无法弄清楚如何生成转义的URL HTML::link(..).例如,我有链接到博客中的不同类别,如部门新闻,我试图得到一个格式如此的链接 - http://localhost/blog/category/department+news.,其中Department News生成的$post->category

我尝试了以下代码,它产生了 http://localhost/blog/Department News

{{ HTML::link('admin/blog/category/' . $post->category, $post->category) }}
Run Code Online (Sandbox Code Playgroud)

如何逃避这一点并生成所需的URL?

Wes*_*rch 6

通常,您有每个帖子类别slug在数据库中使用URL片段的列,然后使用如下内容:

HTML::link('blog/category/'.$post->category->slug, $post->category->name)
Run Code Online (Sandbox Code Playgroud)

Laravel似乎无法自动编码URL的某些部分,因此您必须自己编写:

HTML::link(
    'admin/blog/category/'.urlencode(strtolower($post->category)),
    $post->category
)
Run Code Online (Sandbox Code Playgroud)

您可能想要考虑使用"slug"方法.您不一定要将它存储在数据库中,您可以让您的类动态生成它:

class Category {
    function slug() {
        return urlencode(strtolower($this->name));
    }
}
Run Code Online (Sandbox Code Playgroud)

我不确定你到底在做什么,但希望你明白了.