[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Antonio Fernandes
Criador Antonio Fernandes 02/09/2018

01 - Quando utiliza a chamada da model com NomeModel:: ou injeta-la no construtor ou num método? Existe alguma diferença de desempenho em relação a esses tipos de utilização?

02 - nesta aula recuperamos os Aeroportos e Cidades através de

$airports = Airport::with('city')->get();

considerando que não temos o id do estado na tabela airports, como poderia trazer nesse sql tb o estado para mostrá-lo tambem; EX: ---7920 - Florianópolis-SC/Aeroporto Hecílio Luz---

Manager Carlos Ferreira 02/09/2018

Olá, Antonio!

1) Quando faz isso ModelName::metodo() estamos fazendo a chamada de algum método ou propriedade estática (static). Existe uma longa disculsão sobre esse assunto... em alguns testes mais complexos já realizados provou-se que usar recursos estáticos tem um desempenho mais lento.

2) Sobre essas dúvidas de relacionamentos de tabelas, é algo que detalhei passo a passo nesse curso: https://academy.especializati.com.br/curso/laravel-relacionamentos-tabelas-gratis

Sobre essa consulta:
$airports = Airport::with('city')->get();

Como no Model Airport tem o método city() que relaciona a cidade do aeroporto, ele já consegue trazer todos os aeroportos + a cidade do mesmo.
Dúvidas sobre a query? Troca o método ->get() por ->toSql() de debuga a variável $airports

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!