Order by em um relacionamento

NTI Unirg Criador 06/04/2018
NTI Unirg

Olá, Carlos.

Como eu faria para ordenar as reservas pela data do vôo (e não pela data da reserva) em ordem decrescente usando o auth()->user()->reserves()->with('flight')->get()?

Manager Carlos Ferreira 06/04/2018
Carlos Ferreira

Olá, Bruno!
Tudo bem?

Você pode combinar o método orderBy() antes do get()

Ou, se preferir deixar fixo, pode incluir o orderBy() direto no relacionamento, no Model.

Qualquer dúvida amigo, me retorna. Tá bom? :-)

Criador NTI Unirg 06/04/2018
NTI Unirg

Sim, mas se eu colocar

auth()->user()->reserves()->with('flight')->orderBy('date', 'desc')->get()

ou

auth()->user()->reserves()->with('flight')->orderBy('flights.date', 'desc')->get()

não dá certo porque o campo DATE fica na tabela FLIGHTS e não na tabela RESERVES.

Não estou sabendo fazer essa ordenação.

Manager Carlos Ferreira 10/04/2018
Carlos Ferreira

Olá, Bruno!

Pode deixar lá no método que faz o relacionamento, entre reservas e voos:
public function flight()
{
    return $this->belongsTo(Flight::class)
                    ->orderBy('flights.date', 'desc');
}

Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!