Slug
[Concluído]
Estou criando um Blog, e gostaria de criar o "Slug" do titulo para criar uma url amigável.
Como eu faço para passar o titulo sluggado antes do $fillable ?
Olá, Victor!
Tudo bem?
Uma das melhores formas de fazer isso é trabalhando com observers.
Veja um exemplo, primeiro crie a classe de Observer:
php artisan make:observer PostObserver --model=Post
Essa classe vai ficar em app/Observers/PostObserver.php e usa o model app/Post.php
Agora no método created (que é chamado antes de criar o registro) você faz isso:
public function created(Post $post)
{
$post->slug = kebab_case($post->title);
}
E para atualizar alterar o registro:
public function updated(Post $post)
{
$post->slug = kebab_case($post->title);
}
E precisa registrar esse observer no Provider AppServiceProvider (app/Providers/AppServiceProvider.php):
// Não esquece:
// use App\Post;
// use App\Observers\PostObserver;
Post::observe(PostObserver::class);
Dessa forma ?
Dessa forma ?
Isso amigo.
Deu certo?
Ainda não testei, estou terminando os sistemas básicos para colocar em produção.
Mas, eu venho aqui quando testar e falo se deu certo.
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!