Files
bogazici-api/app/Models/Concerns/HasTurkishSlug.php
2026-03-27 10:41:54 +03:00

25 lines
571 B
PHP

<?php
namespace App\Models\Concerns;
use Illuminate\Support\Str;
trait HasTurkishSlug
{
protected function slugSourceField(): string
{
return 'title';
}
protected static function bootHasTurkishSlug(): void
{
static::saving(function ($model): void {
if (empty($model->slug) && $model->{$model->slugSourceField()}) {
$model->slug = Str::turkishSlug($model->{$model->slugSourceField()});
} else {
$model->slug = Str::turkishSlug($model->slug);
}
});
}
}