noud/laravel-seo-slug

v1.0.2 2020-01-04 21:12 UTC

This package is auto-updated.

Last update: 2024-09-11 05:00:37 UTC


README

使用SEO Slug装饰你的模型。

要求

  • PHP 7.2+
  • Laravel 5.6+

安装

在终端/cm中运行此命令安装包

composer require noud/laravel-seo-slug

用法

以下是一个用法示例。首先将Slug逻辑添加到你的模型中。然后创建并执行迁移。

模型

将Slug业务逻辑添加到模型中,如下所示

<?php

namespace App\Models;

use Reliese\Database\Eloquent\Model as Eloquent;
use SEO\Models\Traits\Slug;

class BlogPosting extends Eloquent
{
    use Slug;
    
    private $url;   // par exemple

    public function generateSlug() {
        // whatever logic you find appropriate
        $urlParts = explode('/', $this->url);
        end($urlParts);
        return prev($urlParts);
    }
}

默认的Slug数据库列名为 slug,但可以被重写。

<?php

class BlogPosting extends Eloquent
{
    public function getRouteKeyName()
    {
        return 'sluggish';
    }
}

迁移

创建一个迁移来装饰Slug,如下所示 database/migrations/yyy_mm_dd_hhmmss_slugged_tables.php 作为你的最后迁移

<?php

use SEO\AddSlugToTables;

class SlugedTables extends AddSlugToTables
{  
}

像往常一样运行迁移。

结果

现在一个像 https://seo.localhost/blog_posting/2 的url将变成 https://seo.localhost/blog_posting/hackathon-tilburg-groot-succes