Skip to content

Entendendo foreignid no Laravel 9+ nas migrations

Por padrão usamos foreignId (que existe desde o Laravel 7) para definir nossa coluna e criar o índice de chave estrangeira.

Se todos os nossos valores forem padrões ou corretamente configurados, podemos usar também o método foreignIdFor (que existe desde o Laravel 8) que recebe por parâmetro o nome da model ao invés do nome da coluna. Um exemplo, nesse nosso caso, seria:

$table->foreignIdFor(Serie::class)->constrained();

Nesse caso nós acabaríamos tendo a coluna como serie_id ao invés de series_id. Podemos ainda passar um segundo parâmetro para esse método, ficando:

$table->foreignIdFor(Serie::class, 'series_id')->constrained();

Devido a essa complexidade a mais, utilizamos o foreignId diretamente em nosso exemplo, mas é válido conhecer essa nova opção.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.