Dúvida sobre rotas
Criamos a rota:
Route::resource('city/{id}/airports', 'AirportController');
e na chamada fizemos
{{ route('airports.index', $city->id )}}
e na url aparece city/5/airports
MInha duvida é:
Como o city é chamada uma vez que indicamos na roda apenas airports.metodo + id
Olá, Antonio!
A url da sua rota é "/city/{id}/airports"
O {id} indica que é valor dinâmico, uma variável.
Quando fazemos isso: {{ route('airports.index', $city->id )}}
O Laravel pega o valor $city->id e substitui em {id} na rota.
Também é possível especificar qual parâmtro dinâmico da URL é para substuir, exemplo:
{{ route('airports.index', ['id' => $city->id]) }}
Dúvidas sobre rotas, recomendo:
https://www.especializati.com.br/tutorial/curso-de-laravel-53-rotas
https://blog.especializati.com.br/rotas-no-laravel/
Qualquer dúvida, só retornar! =D
Quanto ao parâmetro eu compreendi, o que nao entendi é que no aquivo de rotas indicamos
Route::resource('city/{id}/airports', 'AirportController');
mas chamamos apenas airports passando o parêmetro e na url do navegador ela a city é mostrada na url...
No caso esse parâmetro {id} espera exatamente o ID da cidade. Por isso quando usamos essa rota passamos o ID da cidade, e não do aeroporto.
Se quiser deixar esse ID com um nome mais coerente, assim, pode:
Route::resource('city/{idCity}/airports', 'AirportController');
Dessa forma estamos gerenciando os aeroportos ligados a uma determinada cidade, que é identificada através de seu ID.
Ficou claro? Me retorna! :)
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!