kduma/eloquent-sluggable

简化了使用和生成Laravel Eloquent模型的slugs。

v2.1.0 2023-03-13 23:11 UTC

This package is auto-updated.

Last update: 2024-08-29 18:31:28 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License SensioLabsInsight StyleCI Build Status

简化了使用和生成Laravel Eloquent模型的slugs。

设置

将包添加到composer.json的require部分,并运行composer update

"kduma/eloquent-sluggable": "^1.1"

准备模型

在您的模型内部(不在文件顶部)添加以下行

use \KDuma\Eloquent\Slugabble;

可选地,您还可以添加SluggableString函数,它将返回用于生成slugs的字符串(默认使用title字段)

protected function SluggableString(){
    return $this->year.' '.$this->title;
}  

在数据库中创建slug字符串字段。如果您使用迁移,可以使用以下片段

$table->string('slug')->unique();

用法

默认情况下,它在首次保存时生成slugs。

  • $model->newSlug() - 生成新的slug。(请记住自行保存)
  • Model::whereSlug($slug)->first() - 通过slug查找。(whereSlug是查询作用域)

Eric L. Barnes

特别感谢Eric L. Barnes,他是这个包所基于的原代码的创建者。

Packagist

在Packagist.org上查看此包: kduma/eloquent-sluggable