Я просто создаю Trait для генерации слагов для моих моделей:
<?php
namespace App\Traits;
trait SlugGenerator
{
public function slugGenerator($slug = null)
{
return $slug ?? 'UUIDGeneratorFunction';
}
public static function bootSlugGenerator()
{
static::creating(function ($model) {
// How to call slugGenerator() function here?
$model->slug = slugGenerator();
});
}
}
Вопрос в том, как вызвать функцию slugGenerator()
внутри моей загрузки черты?
И если яХотите изменить генератор слагов из любой модели, правильно ли я устанавливаю переменную $slug
?Пример:
<?php
namespace App\Models;
use App\Traits\SlugGenerator;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use SlugGenerator;
public function slugGenerator($slug = null)
{
return 'customSlug';
}
}