如何在我的Laravel 5应用程序中使用Illuminate\Support\Str::slug?

2022-08-30 17:23:37

我正在执行以下操作

public function boot(DispatcherContract $events)
{
    parent::boot($events);

    // set Tag slug
    Tag::saving(function($tag)
    {
        //slugify name
        $tag->slug = Str::slug($tag->name);
    });
}

当我在修补器中运行它时,我收到以下错误:

PHP Fatal error:  Class 'App\Providers\Str' not found in /var/www/questions-l5/app/Providers/EventServiceProvider.php on line 35

..但我不知道Laravel如何导入它。我需要只使用吗,我试图将以下内容添加到config/app.php文件中:use

'aliases' => [
...
'Str'      => 'Illuminate\Support\Str',

..虽然似乎没有太大的区别。

http://chrishayes.ca/blog/code/laravel-4-generating-unique-slugs-elegantly http://laravel.com/api/5.0/Illuminate/Support/Str.html


答案 1

我认为您不需要在此处创建别名,因此只需添加

use Illuminate\Support\Str;

添加到您的模型。


答案 2

编辑:正如samiles所指出的,在Laravel 6.0中已被删除。str_slug($text)

在Laravel 5中,您可以直接使用。您不再需要使用立面。str_slug($text)

http://laravel.com/docs/5.1/helpers#method-str-slug


推荐