pawelmysior / laravel-sluggable
一个小特性,cviebrock/eloquent-sluggable的包装器
7.0.0
2020-03-24 08:58 UTC
Requires
- php: ^7.2
- cviebrock/eloquent-sluggable: ^6.0|^7.0
This package is auto-updated.
Last update: 2024-09-24 18:03:02 UTC
README
这是一个非常小的特性。它是对cviebrock/eloquent-sluggable的优雅包装。
它定义了一个默认的slug源属性(title
)并为根据slug查找模型添加了一个作用域。
安装
您可以通过composer安装此包
composer require pawelmysior/laravel-sluggable
准备
在模型上使用特性
<?php namespace App; use Illuminate\Database\Eloquent\Model; use PawelMysior\Sluggable\Sluggable; class Post extends Model { use Sluggable; }
默认情况下,slug是从title
属性创建的,但您可以通过覆盖模型上特性的getSlugSourceAttribute()
方法轻松更改它,如下所示
<?php namespace App; use Illuminate\Database\Eloquent\Model; use PawelMysior\Sluggable\Sluggable; class Post extends Model { use Sluggable; protected function getSlugSourceAttribute(): string { return $this->name; } }
用法
现在将创建slug。特性中还定义了一个作用域,允许您通过slug查找帖子
Post::findBySlug('slug');
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。