Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Laravel - Como gerar corretamente slugs exclusivos a partir de títulos de artigos?


lastInsertId retorna o id por conexão, o que significa que as conexões sql simultâneas não interferirão umas nas outras.

No entanto, lastInsertId() provavelmente não é a melhor abordagem para o que você está fazendo. Vejo que você já está usando modelos Eloquent. Ao criar uma nova entrada na tabela, esses modelos retornam o objeto correspondente e, em seguida, você pode obter o id exatamente desse objeto sem nenhuma confusão.
$article = Article::create(['title' => 'First post', 'content' => '...']);
echo $article->id;

Isso sempre produzirá o ID do artigo correto e você não precisa se preocupar com os detalhes da implementação. Não consigo ver um bom motivo para usar lastInsertId em uma estrutura da Web moderna, exceto talvez para alguns poucos casos de borda.

Como regra geral, tente evitar lidar diretamente com banco de dados em sua aplicação e use as abstrações que o framework fornece - isso tornará seu código muito mais fácil de manter e mais simples de entender.

P.S. isso pode não ser importante para você, mas lastInsertId() não funciona com transações.