3
respostas

BUSCAR TODOS OS RELACIONAMENTOS

TENHO 3 TABELAS NO MEU BANCO E GOSTARIA DE BUSCAR TODOS OS DADOS E SEUS RELACIONAMENTOS. CONSIGO SE USAR O FIND($ID) PORÉM NÃO QUERO QUE TRAGA APENAS UM REGISTRO E SEUS RELACIONAMENTO, GOSTARIA DE TRAZER TODOS OS REGISTROS E SEUS RELACIONAMENTOS. DESTA FORMA ABAIXO ESTÁ FUNCIONANDO PERFEITAMENTE, PORÉM SÓ CONSIGO BUSCAR UMA MATRICULA E SEUS RELACIONAMENTOS.

$matricula = matricula::find($id);
        $cliente = $matricula->cliente;
        $contratos = $matricula->contratos;
        $descriptions = $cliente->descriptions;

GOSTARIA DE FAZER ALGO TIPO, NO LUGAR DO FIND($ID) USAR O ALL()

$matricula = matricula::all();
        $cliente = $matricula->cliente;
        $contratos = $matricula->contratos;
        $descriptions = $cliente->descriptions;
3 respostas

Fala, Robson.

Só fazer:

$matricula = Matricula::with(['cliente', 'contratos.descriptions']);

;-)

OK. TENTEI DESSA FORMA, MAS SEM SUCESSO TIVE QUE COLOCAR O ->GET() MAS OCORREU O SEGUINTE ERRO NA VIEW: A propriedade não existe nesta instância de coleção.

@foreach($matriculas as $matricula) {{$matricula->matricula}} {{$matricula->cliente->nome}} {{$matricula->contratos->banco}}

@endforeach

ESTOU TENTANDO RESOLVER O SEGUINTE PROBLEMA, EU TENHO A TABELA CLIENTE, MATRICULAS E CONTRATOS. OS DADOS DESSAS TRÊS TABELAS SÃO APRESENTADOS NA MESMA VIEW AS RELAÇÕES ENTRE ELAS SÃO A SEGUINTE: CLIENTE 1:N MATRÍCULAS MATRÍCULAS 1:N CONTRATOS. ESTOU QUERENDO CRIAR UMA PAGINAÇÃO ONDE EU POSSO DA NEXT E VER OS DADOS DE UM CLIENTE. MAS QUANDO FAÇO O FOREACH ELE CRIAR UMA PÁGINA PARA CADA LINHA QUE RETORNA DO BANCO, OU SEJA SE O CLIENTE TIVER 10 CONTRATOS ELE VAI CRIAR 10 PÁGINAS PARA CADA CONTRATO. E O QUE EU QUERO É QUE NA MESMA PÁGINA ELE APRESENTE OS DADOS DO CLIENTE E TODOS OS CONTRATOS.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software