mr-timofey / eloquent-sluggable
Sluggable Eloquent 模型类
0.1.2
2021-01-21 07:59 UTC
Requires
- php: >=7.1.0
- illuminate/database: *
README
Eloquent 模型的短链接
功能
findBySlug
,findBySlugOrFail
,findByAny
,findByAnyOrFail
- 创建时自动生成短链接(如果没有手动设置)通过转换源属性
- 每次修改短链接后自动检查唯一性约束(如果短链接不是唯一的,将会追加 -1/2/3/... 直到唯一)
- 通过短链接或 ID 解析路由(假设 ID 字段是整数)
- 几乎可以通过方法覆盖或类字段进行任何定制
要求
- PHP 7.1
- Eloquent 模型
安装
composer require mr-timofey/eloquent-sluggable
使用方法
只需在您的模型类中通过 MrTimofey\EloquentSluggable\Sluggable
特性即可。如果需要,请定义字段
class MyModel extends \Illuminate\Database\Eloquent\Model { use \MrTimofey\EloquentSluggable\Sluggable; /** * @var string attribute name that used as a source for transliteration */ protected static $slugSource = 'name'; /** * @var string attribute name containing a slug itself */ protected static $slugField = 'slug'; /** * @var bool slug can be null */ protected static $slugNullable = false; }
如果您需要更多定制,请查看特性的源代码。