noud / laravel-seo-slug
Laravel SEO Slug
v1.0.2
2020-01-04 21:12 UTC
Requires
- php: >=7.2.0
- spatie/laravel-sluggable: ^2.2
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。