定制 arniro/laravel-sluggable 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

arniro/laravel-sluggable

Composer 安装命令:

composer require arniro/laravel-sluggable

包简介

A package to generate a slug for Laravel models. Translatable columns are also supported.

README 文档

README

Installation

Install the package via composer:

composer require arniro/laravel-sluggable

Usage

Include a Sluggable trait to the model:

use Arniro\Sluggable\Sluggable;
use Illuminate\Database\Eloquent\Model;

class Product extends Model
{
    use Sluggable;

    //
}

Whenever you create or update a model, a slug will be generated from the name column to the slug column by default.

Product::create([
    'name' => 'Lorem Ipsum'
]);

A slug column will be filled with the following value: lorem-ipsum. The slug value will always be unique.

You can override a column name that is used to generate a slug from with the getSluggable method:

use Arniro\Sluggable\Sluggable;
use Illuminate\Database\Eloquent\Model;

class Product extends Model
{
    use Sluggable;

    public function getSluggable()
    {
        return 'title';
    }

    //
}

Translatable columns

If your column is translatable and you use a spatie/laravel-translatable package it will be recognized and used behind the scenes so all you need to do is to add your slug column name to the translatable property of your model:

use Arniro\Sluggable\Sluggable;
use Illuminate\Database\Eloquent\Model;
use Spatie\Translatable\HasTranslations;

class Product extends Model
{
    use HasTranslations, Sluggable;

    public $translatable = ['name', 'slug'];

    //
}

So now if you're creating or updating a sluggable column, all of its locales will be slugged:

$product = Product::create([
    'name' => [
        'en' => 'Lorem Ipsum',
        'ru' => 'Lorem Ipsum Ru'
    ]
]);
$product->getTranslations('slug'); // ['en' => 'lorem-ipsum','ru' => 'lorem-ipsum-ru']

Testing

composer test

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 956
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-06-15

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固